[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