[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b5b44445-8ec4-7d67-149f-ec51ecf1b72c@amd.com>
Date: Sun, 13 Nov 2022 12:48:28 -0500
From: Rodrigo Siqueira <Rodrigo.Siqueira@....com>
To: Melissa Wen <mwen@...lia.com>, harry.wentland@....com,
sunpeng.li@....com, alexander.deucher@....com,
christian.koenig@....com, Xinhui.Pan@....com, airlied@...ux.ie,
daniel@...ll.ch
Cc: Nicholas.Choi@....com, Nicholas.Kazlauskas@....com,
kernel-dev@...lia.com, amd-gfx@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/amd/display: don't enable DRM CRTC degamma property
for DCE
On 11/3/22 14:45, Melissa Wen wrote:
> DM maps DRM CRTC degamma to DPP (pre-blending) degamma block, but DCE doesn't
> support programmable degamma curve anywhere. Currently, a custom degamma is
> accepted by DM but just ignored by DCE driver and degamma correction isn't
> actually applied. There is no way to map custom degamma in DCE, therefore, DRM
> CRTC degamma property shouldn't be enabled for DCE drivers.
>
> Signed-off-by: Melissa Wen <mwen@...lia.com>
> ---
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> index 9ac2805c5d63..b3eadfc61555 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> @@ -415,7 +415,7 @@ int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
> {
> struct amdgpu_crtc *acrtc = NULL;
> struct drm_plane *cursor_plane;
> -
> + bool is_dcn;
> int res = -ENOMEM;
>
> cursor_plane = kzalloc(sizeof(*cursor_plane), GFP_KERNEL);
> @@ -453,8 +453,14 @@ int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
> acrtc->otg_inst = -1;
>
> dm->adev->mode_info.crtcs[crtc_index] = acrtc;
> - drm_crtc_enable_color_mgmt(&acrtc->base, MAX_COLOR_LUT_ENTRIES,
> +
> + /* Don't enable DRM CRTC degamma property for DCE since it doesn't
> + * support programmable degamma anywhere.
> + */
> + is_dcn = dm->adev->dm.dc->caps.color.dpp.dcn_arch;
> + drm_crtc_enable_color_mgmt(&acrtc->base, is_dcn ? MAX_COLOR_LUT_ENTRIES : 0,
> true, MAX_COLOR_LUT_ENTRIES);
> +
> drm_mode_crtc_set_gamma_size(&acrtc->base, MAX_COLOR_LEGACY_LUT_ENTRIES);
>
> return 0;
Hi,
I tested it in a DCE device and the patch lgtm.
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@....com>
and merged it into amd-staging-drm-next.
Thanks
Siqueira
Powered by blists - more mailing lists