On 2022-02-07 11:34, Maxime Ripard wrote:
> The amdgpu KMS driver calls drm_plane_create_color_properties() with a
> default encoding set to BT709.
> 
> However, the core will ignore it and the driver doesn't force it in its
> plane state reset hook, so the initial value will be 0, which represents
> BT601.
> 

Isn't this a core issue? Should __drm_atomic_helper_plane_state_reset
reset all plane_state members to their properties' default values?

The amdgpu KMS driver currently doesn't respect the color_encoding
property but I would expect that a call to drm_plane_create_color_properties
with a default of BT709 means we're getting BT709 as color_encoding 
as part of atomic commits.

Harry

> Fix the mismatch by using an initial value of BT601 in
> drm_plane_create_color_properties().
> 
> Cc: amd-...@lists.freedesktop.org
> Cc: Alex Deucher <alexander.deuc...@amd.com>
> Cc: "Christian König" <christian.koe...@amd.com>
> Cc: Harry Wentland <harry.wentl...@amd.com>
> Cc: Leo Li <sunpeng...@amd.com>
> Cc: "Pan, Xinhui" <xinhui....@amd.com>
> Cc: Rodrigo Siqueira <rodrigo.sique...@amd.com>
> Signed-off-by: Maxime Ripard <max...@cerno.tech>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index feccf2b555d2..86b27a355e90 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -7914,7 +7914,7 @@ static int amdgpu_dm_plane_init(struct 
> amdgpu_display_manager *dm,
>                       BIT(DRM_COLOR_YCBCR_BT2020),
>                       BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
>                       BIT(DRM_COLOR_YCBCR_FULL_RANGE),
> -                     DRM_COLOR_YCBCR_BT709, DRM_COLOR_YCBCR_LIMITED_RANGE);
> +                     DRM_COLOR_YCBCR_BT601, DRM_COLOR_YCBCR_LIMITED_RANGE);
>       }
>  
>       supported_rotations =

Reply via email to