DCN3.01 presents the same banding issue as reported in the link below,
but the previous fix doesn't cover this hw. Change the helper used to
translate degamma/blend curves to HW points for DCN30, DCN 301, DCN31
and DCN314 similar to what was done for DCN32+ by commit 3719314af322
("drm/amd/display: use a separate helper to translate degamma curves").

Link: https://lore.kernel.org/amd-gfx/[email protected]/
Fixes: 3719314af322 ("drm/amd/display: use a separate helper to translate 
degamma curves")
Signed-off-by: Melissa Wen <[email protected]>
---
 .../gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c    | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c 
b/drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
index cb163902e12e..6980f622db0a 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_hwseq.c
@@ -243,10 +243,9 @@ bool dcn30_set_blend_lut(
        if (plane_state->cm.blend_func.type == TF_TYPE_HWPWL)
                blend_lut = &plane_state->cm.blend_func.pwl;
        else if (plane_state->cm.blend_func.type == TF_TYPE_DISTRIBUTED_POINTS) 
{
-               result = 
cm3_helper_translate_curve_to_hw_format(plane_state->ctx,
+               result = cm3_helper_translate_curve_to_degamma_hw_format(
                                &plane_state->cm.blend_func,
-                               &dpp_base->regamma_params,
-                               false);
+                               &dpp_base->regamma_params);
                if (!result)
                        return result;
 
@@ -337,9 +336,8 @@ bool dcn30_set_input_transfer_func(struct dc *dc,
        if (plane_state->in_transfer_func.type == TF_TYPE_HWPWL)
                params = &plane_state->in_transfer_func.pwl;
        else if (plane_state->in_transfer_func.type == 
TF_TYPE_DISTRIBUTED_POINTS &&
-               cm3_helper_translate_curve_to_hw_format(plane_state->ctx,
-                                                       
&plane_state->in_transfer_func,
-                                                       
&dpp_base->degamma_params, false))
+               
cm3_helper_translate_curve_to_degamma_hw_format(&plane_state->in_transfer_func,
+                                                               
&dpp_base->degamma_params))
                params = &dpp_base->degamma_params;
 
        result = dpp_base->funcs->dpp_program_gamcor_lut(dpp_base, params);
-- 
2.53.0

Reply via email to