[PATCH 2/2] drm/amd/display: use translate_curve_to_degamma_hw_format on DCN30

From: Melissa Wen

Date: Wed Aug 19 2026 - 12:12:00 EST


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 for
degamma/blend curves for DCN30-based family.

Link: https://lore.kernel.org/amd-gfx/20260623160112.1636801-1-mwen@xxxxxxxxxx/
Fixes: 3719314af322 ("drm/amd/display: use a separate helper to translate degamma curves")
Signed-off-by: Melissa Wen <mwen@xxxxxxxxxx>
---
.../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