On Thursday, 5 March 2026 10:04:56 Central European Standard Time Maxime Ripard 
wrote:
> Now that we introduced a new drm_output_color_format enum to represent
> what DRM_COLOR_FORMAT_* bits were representing, we can switch to the new
> enum.
> 
> The main difference is that while DRM_COLOR_FORMAT_ was a bitmask,
> drm_output_color_format is a proper enum. However, the enum was done is
> such a way than DRM_COLOR_FORMAT_X = BIT(DRM_OUTPUT_COLOR_FORMAT_X) so
> the transitition is easier.
> 
> The only thing we need to consider is if the original code meant to use
> that value as a bitmask, in which case we do need to keep the bit shift,
> or as a discriminant in which case we don't.
> 
> Acked-by: Jani Nikula <[email protected]>
> Signed-off-by: Maxime Ripard <[email protected]>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> 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 
> a8e4e3ab5e40276b3c723297ca6520688079e0a7..2fe9044e1e91d7581fd5032b9883548f8e5e1b43
>  100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -6723,15 +6723,15 @@ static void 
> fill_stream_properties_from_drm_display_mode(
>               timing_out->pixel_encoding = PIXEL_ENCODING_YCBCR420;
>       else if (drm_mode_is_420_also(info, mode_in)
>                       && aconnector
>                       && aconnector->force_yuv420_output)
>               timing_out->pixel_encoding = PIXEL_ENCODING_YCBCR420;
> -     else if ((connector->display_info.color_formats & 
> DRM_COLOR_FORMAT_YCBCR422)
> +     else if ((connector->display_info.color_formats & 
> BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422))
>                       && aconnector
>                       && aconnector->force_yuv422_output)
>               timing_out->pixel_encoding = PIXEL_ENCODING_YCBCR422;
> -     else if ((connector->display_info.color_formats & 
> DRM_COLOR_FORMAT_YCBCR444)
> +     else if ((connector->display_info.color_formats & 
> BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444))
>                       && stream->signal == SIGNAL_TYPE_HDMI_TYPE_A)
>               timing_out->pixel_encoding = PIXEL_ENCODING_YCBCR444;
>       else
>               timing_out->pixel_encoding = PIXEL_ENCODING_RGB;
>  
> 
> 

Tested-by: Nicolas Frattaroli <[email protected]>

I've been running this patch as part of my color format work and it
works precisely as it's supposed to (which is also quite evident from
the simple conversion in the code.)

Kind regards,
Nicolas Frattaroli


Reply via email to