drm/amd/display: Fix MPCC 1DLUT programming
[Why] Wrong function is used to translate LUT values to HW format, leading to visible artifacting in some cases. [How] Use the correct cm3_helper function. Cc: stable@vger.kernel.org # 6.1+ Reviewed-by: Krunoslav Kovac <krunoslav.kovac@amd.com> Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Ilya Bakoulin <ilya.bakoulin@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
cab667a871
commit
6f395cebdd
@@ -487,8 +487,7 @@ bool dcn32_set_mcm_luts(
|
|||||||
if (plane_state->blend_tf->type == TF_TYPE_HWPWL)
|
if (plane_state->blend_tf->type == TF_TYPE_HWPWL)
|
||||||
lut_params = &plane_state->blend_tf->pwl;
|
lut_params = &plane_state->blend_tf->pwl;
|
||||||
else if (plane_state->blend_tf->type == TF_TYPE_DISTRIBUTED_POINTS) {
|
else if (plane_state->blend_tf->type == TF_TYPE_DISTRIBUTED_POINTS) {
|
||||||
cm_helper_translate_curve_to_hw_format(plane_state->ctx,
|
cm3_helper_translate_curve_to_hw_format(plane_state->blend_tf,
|
||||||
plane_state->blend_tf,
|
|
||||||
&dpp_base->regamma_params, false);
|
&dpp_base->regamma_params, false);
|
||||||
lut_params = &dpp_base->regamma_params;
|
lut_params = &dpp_base->regamma_params;
|
||||||
}
|
}
|
||||||
@@ -503,8 +502,7 @@ bool dcn32_set_mcm_luts(
|
|||||||
else if (plane_state->in_shaper_func->type == TF_TYPE_DISTRIBUTED_POINTS) {
|
else if (plane_state->in_shaper_func->type == TF_TYPE_DISTRIBUTED_POINTS) {
|
||||||
// TODO: dpp_base replace
|
// TODO: dpp_base replace
|
||||||
ASSERT(false);
|
ASSERT(false);
|
||||||
cm_helper_translate_curve_to_hw_format(plane_state->ctx,
|
cm3_helper_translate_curve_to_hw_format(plane_state->in_shaper_func,
|
||||||
plane_state->in_shaper_func,
|
|
||||||
&dpp_base->shaper_params, true);
|
&dpp_base->shaper_params, true);
|
||||||
lut_params = &dpp_base->shaper_params;
|
lut_params = &dpp_base->shaper_params;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user