Skip to content

Commit eaa7d83

Browse files
misyltoadalexdeucher
authored andcommitted
drm/amd/display: Refactor avi_info_frame colorimetry determination
Replace the messy two if-else chains here that were on the same value with a switch on the enum. Signed-off-by: Joshua Ashton <joshua@froggi.es> Signed-off-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Cc: Pekka Paalanen <ppaalanen@gmail.com> Cc: Sebastian Wick <sebastian.wick@redhat.com> Cc: Vitaly.Prosyak@amd.com Cc: Joshua Ashton <joshua@froggi.es> Cc: Simon Ser <contact@emersion.fr> Cc: Melissa Wen <mwen@igalia.com> Cc: dri-devel@lists.freedesktop.org Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent fd45b65 commit eaa7d83

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

drivers/gpu/drm/amd/display/dc/core/dc_resource.c

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3035,23 +3035,29 @@ static void set_avi_info_frame(
30353035
hdmi_info.bits.S0_S1 = scan_type;
30363036

30373037
/* C0, C1 : Colorimetry */
3038-
if (color_space == COLOR_SPACE_YCBCR709 ||
3039-
color_space == COLOR_SPACE_YCBCR709_LIMITED)
3038+
switch (color_space) {
3039+
case COLOR_SPACE_YCBCR709:
3040+
case COLOR_SPACE_YCBCR709_LIMITED:
30403041
hdmi_info.bits.C0_C1 = COLORIMETRY_ITU709;
3041-
else if (color_space == COLOR_SPACE_YCBCR601 ||
3042-
color_space == COLOR_SPACE_YCBCR601_LIMITED)
3042+
break;
3043+
case COLOR_SPACE_YCBCR601:
3044+
case COLOR_SPACE_YCBCR601_LIMITED:
30433045
hdmi_info.bits.C0_C1 = COLORIMETRY_ITU601;
3044-
else {
3045-
hdmi_info.bits.C0_C1 = COLORIMETRY_NO_DATA;
3046-
}
3047-
if (color_space == COLOR_SPACE_2020_RGB_FULLRANGE ||
3048-
color_space == COLOR_SPACE_2020_RGB_LIMITEDRANGE ||
3049-
color_space == COLOR_SPACE_2020_YCBCR) {
3046+
break;
3047+
case COLOR_SPACE_2020_RGB_FULLRANGE:
3048+
case COLOR_SPACE_2020_RGB_LIMITEDRANGE:
3049+
case COLOR_SPACE_2020_YCBCR:
30503050
hdmi_info.bits.EC0_EC2 = COLORIMETRYEX_BT2020RGBYCBCR;
30513051
hdmi_info.bits.C0_C1 = COLORIMETRY_EXTENDED;
3052-
} else if (color_space == COLOR_SPACE_ADOBERGB) {
3052+
break;
3053+
case COLOR_SPACE_ADOBERGB:
30533054
hdmi_info.bits.EC0_EC2 = COLORIMETRYEX_ADOBERGB;
30543055
hdmi_info.bits.C0_C1 = COLORIMETRY_EXTENDED;
3056+
break;
3057+
case COLOR_SPACE_SRGB:
3058+
default:
3059+
hdmi_info.bits.C0_C1 = COLORIMETRY_NO_DATA;
3060+
break;
30553061
}
30563062

30573063
if (pixel_encoding && color_space == COLOR_SPACE_2020_YCBCR &&

0 commit comments

Comments
 (0)