On Tue, 7 Mar 2023 10:11:05 -0500 Harry Wentland <harry.wentland@xxxxxxx> wrote: > Signed-off-by: Harry Wentland <harry.wentland@xxxxxxx> > Cc: Pekka Paalanen <ppaalanen@xxxxxxxxx> > Cc: Sebastian Wick <sebastian.wick@xxxxxxxxxx> > Cc: Vitaly.Prosyak@xxxxxxx > Cc: Joshua Ashton <joshua@xxxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Reviewed-By: Joshua Ashton <joshua@xxxxxxxxx> 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:
pgpYY_Rdqmifj.pgp
Description: OpenPGP digital signature