[PATCH v3 15/17] drm/amd/display: Add default case for output_color_space switch
Pekka Paalanen
ppaalanen at gmail.com
Wed Mar 8 09:35:10 UTC 2023
On Tue, 7 Mar 2023 10:11:05 -0500
Harry Wentland <harry.wentland at amd.com> wrote:
> Signed-off-by: Harry Wentland <harry.wentland at amd.com>
> Cc: Pekka Paalanen <ppaalanen at gmail.com>
> Cc: Sebastian Wick <sebastian.wick at redhat.com>
> Cc: Vitaly.Prosyak at amd.com
> Cc: Joshua Ashton <joshua at froggi.es>
> Cc: dri-devel at lists.freedesktop.org
> Cc: amd-gfx at lists.freedesktop.org
> Reviewed-By: Joshua Ashton <joshua at 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;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20230308/8b0349e8/attachment.sig>
More information about the amd-gfx
mailing list