[PATCH v2] drm/amd/display: enable cursor degamma for DCN3+ DRM legacy gamma
Alex Deucher
alexdeucher at gmail.com
Thu Aug 31 19:41:59 UTC 2023
Applied. Thanks!
Alex
On Thu, Aug 31, 2023 at 12:12 PM Melissa Wen <mwen at igalia.com> 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 at vger.kernel.org
> 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 at igalia.com>
> ---
> 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
>
More information about the amd-gfx
mailing list