Blob Blame History Raw
From: Hersen Wu <hersenxs.wu@amd.com>
Date: Wed, 11 Apr 2018 15:22:10 -0400
Subject: drm/amd/display: DP link validation bug for YUV422
Git-commit: 50834eb488a30026de040ab5d209ca9f980ae14b
Patch-mainline: v4.18-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166

remove limit YUV422 color depth to 24bits which is
workaround for old ASIC

Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c |   47 ++++++++++-------------
 1 file changed, 21 insertions(+), 26 deletions(-)

--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
@@ -1379,34 +1379,29 @@ static uint32_t bandwidth_in_kbps_from_t
 	uint32_t bits_per_channel = 0;
 	uint32_t kbps;
 
-	if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR422)
+	switch (timing->display_color_depth) {
+	case COLOR_DEPTH_666:
+		bits_per_channel = 6;
+		break;
+	case COLOR_DEPTH_888:
+		bits_per_channel = 8;
+		break;
+	case COLOR_DEPTH_101010:
+		bits_per_channel = 10;
+		break;
+	case COLOR_DEPTH_121212:
 		bits_per_channel = 12;
-	else{
-
-		switch (timing->display_color_depth) {
-
-		case COLOR_DEPTH_666:
-			bits_per_channel = 6;
-			break;
-		case COLOR_DEPTH_888:
-			bits_per_channel = 8;
-			break;
-		case COLOR_DEPTH_101010:
-			bits_per_channel = 10;
-			break;
-		case COLOR_DEPTH_121212:
-			bits_per_channel = 12;
-			break;
-		case COLOR_DEPTH_141414:
-			bits_per_channel = 14;
-			break;
-		case COLOR_DEPTH_161616:
-			bits_per_channel = 16;
-			break;
-		default:
-			break;
-		}
+		break;
+	case COLOR_DEPTH_141414:
+		bits_per_channel = 14;
+		break;
+	case COLOR_DEPTH_161616:
+		bits_per_channel = 16;
+		break;
+	default:
+		break;
 	}
+
 	ASSERT(bits_per_channel != 0);
 
 	kbps = timing->pix_clk_khz;