aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0198-drm-amd-display-Fix-YCbCr-pixel-format-shows-green-i.patch
blob: 47f6b66d091a1ca9c88f7d8ee5e4b33a1b35eb86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
From c2840c7d43b3de3e8e851e41c9b8c3f9fe67f0ad Mon Sep 17 00:00:00 2001
From: Charlene Liu <charlene.liu@amd.com>
Date: Tue, 31 Jan 2017 20:18:05 -0500
Subject: [PATCH 0198/4131] drm/amd/display: Fix YCbCr pixel format shows green
 issue

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index ee1c3b0..3d8a85e 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -1300,19 +1300,23 @@ static void set_avi_info_frame(
 	info_frame.avi_info_packet.info_packet_hdmi.bits.S0_S1 = scan_type;
 
 	/* C0, C1 : Colorimetry */
-	if (color_space == COLOR_SPACE_YCBCR709)
+	if (color_space == COLOR_SPACE_YCBCR709 ||
+			color_space == COLOR_SPACE_YCBCR709_LIMITED)
 		info_frame.avi_info_packet.info_packet_hdmi.bits.C0_C1 =
 				COLORIMETRY_ITU709;
-	else if (color_space == COLOR_SPACE_YCBCR601)
+	else if (color_space == COLOR_SPACE_YCBCR601 ||
+			color_space == COLOR_SPACE_YCBCR601_LIMITED)
 		info_frame.avi_info_packet.info_packet_hdmi.bits.C0_C1 =
 				COLORIMETRY_ITU601;
-	else
+	else {
+		if (stream->public.timing.pixel_encoding != PIXEL_ENCODING_RGB)
+			BREAK_TO_DEBUGGER();
 		info_frame.avi_info_packet.info_packet_hdmi.bits.C0_C1 =
 				COLORIMETRY_NO_DATA;
-
+	}
 	if (color_space == COLOR_SPACE_2020_RGB_FULLRANGE ||
-		color_space == COLOR_SPACE_2020_RGB_LIMITEDRANGE ||
-		color_space == COLOR_SPACE_2020_YCBCR) {
+			color_space == COLOR_SPACE_2020_RGB_LIMITEDRANGE ||
+			color_space == COLOR_SPACE_2020_YCBCR) {
 		info_frame.avi_info_packet.info_packet_hdmi.bits.EC0_EC2 =
 				COLORIMETRYEX_BT2020RGBYCBCR;
 		info_frame.avi_info_packet.info_packet_hdmi.bits.C0_C1 =
-- 
2.7.4