mirror of https://gitee.com/openkylin/linux.git
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: Ken Chalmers <ken.chalmers@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
f774b33982
commit
a6e59fa806
|
@ -593,3 +593,12 @@ uint32_t dal_fixed31_32_clamp_u0d10(
|
||||||
{
|
{
|
||||||
return clamp_ux_dy(arg.value, 0, 10, 1);
|
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);
|
||||||
|
}
|
||||||
|
|
|
@ -470,4 +470,7 @@ uint32_t dal_fixed31_32_clamp_u0d14(
|
||||||
uint32_t dal_fixed31_32_clamp_u0d10(
|
uint32_t dal_fixed31_32_clamp_u0d10(
|
||||||
struct fixed31_32 arg);
|
struct fixed31_32 arg);
|
||||||
|
|
||||||
|
int32_t dal_fixed31_32_s4d19(
|
||||||
|
struct fixed31_32 arg);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue