Re: [PATCH 2/2] drm/amd/display: use translate_curve_to_degamma_hw_format on DCN30
Alex Hung <[email protected]>
| Newsgroups | org.freedesktop.lists.amd-gfx,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/19/26 10:00, Melissa Wen wrote: > DCN3.01 presents the same banding issue as reported in the link below, This affects more than just DCN301 as below: drivers/gpu/drm/amd/display/dc/hwss/dcn30/dcn30_init.c: .set_blend_lut = dcn30_set_blend_lut, drivers/gpu/drm/amd/display/dc/hwss/dcn301/dcn301_init.c: .set_blend_lut = dcn30_set_blend_lut, drivers/gpu/drm/amd/display/dc/hwss/dcn31/dcn31_init.c: .set_blend_lut = dcn30_set_blend_lut, drivers/gpu/drm/amd/display/dc/hwss/dcn314/dcn314_init.c: .set_blend_lut = dcn30_set_blend_lut, > 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/[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);