Applied. Thanks! Alex On Thu, Aug 31, 2023 at 12:12 PM Melissa Wen <mwen@xxxxxxxxxx> wrote: > > For DRM legacy gamma, AMD display manager applies implicit sRGB degamma > using a pre-defined sRGB transfer function. It works fine for DCN2 > family where degamma ROM and custom curves go to the same color block. > But, on DCN3+, degamma is split into two blocks: degamma ROM for > pre-defined TFs and `gamma correction` for user/custom curves and > degamma ROM settings doesn't apply to cursor plane. To get DRM legacy > gamma working as expected, enable cursor degamma ROM for implict sRGB > degamma on HW with this configuration. > > Cc: stable@xxxxxxxxxxxxxxx > Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2803 > Fixes: 96b020e2163f ("drm/amd/display: check attr flag before set cursor degamma on DCN3+") > Signed-off-by: Melissa Wen <mwen@xxxxxxxxxx> > --- > v2: cc'ing stable > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c > index df568a7cd005..b97cbc4e5477 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c > @@ -1270,6 +1270,13 @@ void amdgpu_dm_plane_handle_cursor_update(struct drm_plane *plane, > attributes.rotation_angle = 0; > attributes.attribute_flags.value = 0; > > + /* Enable cursor degamma ROM on DCN3+ for implicit sRGB degamma in DRM > + * legacy gamma setup. > + */ > + if (crtc_state->cm_is_degamma_srgb && > + adev->dm.dc->caps.color.dpp.gamma_corr) > + attributes.attribute_flags.bits.ENABLE_CURSOR_DEGAMMA = 1; > + > attributes.pitch = afb->base.pitches[0] / afb->base.format->cpp[0]; > > if (crtc_state->stream) { > -- > 2.40.1 >