On Tue, 7 Mar 2023 10:11:05 -0500
Harry Wentland <harry.wentl...@amd.com> wrote:

> Signed-off-by: Harry Wentland <harry.wentl...@amd.com>
> Cc: Pekka Paalanen <ppaala...@gmail.com>
> Cc: Sebastian Wick <sebastian.w...@redhat.com>
> Cc: vitaly.pros...@amd.com
> Cc: Joshua Ashton <jos...@froggi.es>
> Cc: dri-de...@lists.freedesktop.org
> Cc: amd-gfx@lists.freedesktop.org
> Reviewed-By: Joshua Ashton <jos...@froggi.es>

Hi,

why?

Isn't the bitmask of supported values supposed to stop arbitrary values
from coming through?

Why handle unsupported values like DEFAULT instead of as a kernel bug?

If this is only to stop compiler warnings of not handling all enum
values in a switch, is the commit ordering in this series even
bisectable?


Thanks,
pq

> ---
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 43 ++++++++++---------
>  1 file changed, 22 insertions(+), 21 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 7f77e226f1eb..a15b26962496 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -5308,7 +5308,29 @@ get_output_color_space(const struct dc_crtc_timing 
> *dc_crtc_timing,
>       enum dc_color_space color_space = COLOR_SPACE_SRGB;
>  
>       switch (connector_state->colorspace) {
> +     case DRM_MODE_COLORIMETRY_BT601_YCC:
> +             if (dc_crtc_timing->flags.Y_ONLY)
> +                     color_space = COLOR_SPACE_YCBCR601_LIMITED;
> +             else
> +                     color_space = COLOR_SPACE_YCBCR601;
> +             break;
> +     case DRM_MODE_COLORIMETRY_BT709_YCC:
> +             if (dc_crtc_timing->flags.Y_ONLY)
> +                     color_space = COLOR_SPACE_YCBCR709_LIMITED;
> +             else
> +                     color_space = COLOR_SPACE_YCBCR709;
> +             break;
> +     case DRM_MODE_COLORIMETRY_OPRGB:
> +             color_space = COLOR_SPACE_ADOBERGB;
> +             break;
> +     case DRM_MODE_COLORIMETRY_BT2020:
> +             color_space = COLOR_SPACE_2020_RGB_FULLRANGE;
> +             break;
> +     case DRM_MODE_COLORIMETRY_BT2020_DEPRECATED:
> +             color_space = COLOR_SPACE_2020_YCBCR;
> +             break;
>       case DRM_MODE_COLORIMETRY_DEFAULT: // ITU601
> +     default:
>               if (dc_crtc_timing->pixel_encoding == PIXEL_ENCODING_RGB) {
>                       color_space = COLOR_SPACE_SRGB;
>               /*
> @@ -5330,27 +5352,6 @@ get_output_color_space(const struct dc_crtc_timing 
> *dc_crtc_timing,
>                               color_space = COLOR_SPACE_YCBCR601;
>               }
>               break;
> -     case DRM_MODE_COLORIMETRY_BT601_YCC:
> -             if (dc_crtc_timing->flags.Y_ONLY)
> -                     color_space = COLOR_SPACE_YCBCR601_LIMITED;
> -             else
> -                     color_space = COLOR_SPACE_YCBCR601;
> -             break;
> -     case DRM_MODE_COLORIMETRY_BT709_YCC:
> -             if (dc_crtc_timing->flags.Y_ONLY)
> -                     color_space = COLOR_SPACE_YCBCR709_LIMITED;
> -             else
> -                     color_space = COLOR_SPACE_YCBCR709;
> -             break;
> -     case DRM_MODE_COLORIMETRY_OPRGB:
> -             color_space = COLOR_SPACE_ADOBERGB;
> -             break;
> -     case DRM_MODE_COLORIMETRY_BT2020:
> -             color_space = COLOR_SPACE_2020_RGB_FULLRANGE;
> -             break;
> -     case DRM_MODE_COLORIMETRY_BT2020_DEPRECATED:
> -             color_space = COLOR_SPACE_2020_YCBCR;
> -             break;
>       }
>  
>       return color_space;

Attachment: pgp1z_zd_cAw0.pgp
Description: OpenPGP digital signature

Reply via email to