Commit a6e59fa8 authored by Ken Chalmers's avatar Ken Chalmers Committed by Alex Deucher
Browse files

drm/amd/display: WBSCL filter init calculation fixes



* Previous code did some calculations with a mix of normal integers and
  integers aligned as U2.24 fixed-point values.
* There were bugs in the conversion of the final result into the
  S4.19 values required for the registers.

Signed-off-by: default avatarKen Chalmers <ken.chalmers@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent f774b339
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -593,3 +593,12 @@ uint32_t dal_fixed31_32_clamp_u0d10(
{
	return clamp_ux_dy(arg.value, 0, 10, 1);
}

int32_t dal_fixed31_32_s4d19(
	struct fixed31_32 arg)
{
	if (arg.value < 0)
		return -(int32_t)ux_dy(dal_fixed31_32_abs(arg).value, 4, 19);
	else
		return ux_dy(arg.value, 4, 19);
}
+3 −0
Original line number Diff line number Diff line
@@ -470,4 +470,7 @@ uint32_t dal_fixed31_32_clamp_u0d14(
uint32_t dal_fixed31_32_clamp_u0d10(
	struct fixed31_32 arg);

int32_t dal_fixed31_32_s4d19(
	struct fixed31_32 arg);

#endif