[PATCH] drm/amd/display: don't enable DRM CRTC degamma property for DCE
Rodrigo Siqueira
Rodrigo.Siqueira at amd.com
Sun Nov 13 17:48:28 UTC 2022
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 at igalia.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 at amd.com>
and merged it into amd-staging-drm-next.
Thanks
Siqueira
More information about the amd-gfx
mailing list