aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4346-drm-amd-display-DP-link-validation-bug-for-YUV422.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4346-drm-amd-display-DP-link-validation-bug-for-YUV422.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4346-drm-amd-display-DP-link-validation-bug-for-YUV422.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4346-drm-amd-display-DP-link-validation-bug-for-YUV422.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4346-drm-amd-display-DP-link-validation-bug-for-YUV422.patch
new file mode 100644
index 00000000..1eb13ae4
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4346-drm-amd-display-DP-link-validation-bug-for-YUV422.patch
@@ -0,0 +1,78 @@
+From ecce06487bbc9787f429050e7a366b4bf646841e Mon Sep 17 00:00:00 2001
+From: Hersen Wu <hersenxs.wu@amd.com>
+Date: Wed, 11 Apr 2018 15:22:10 -0400
+Subject: [PATCH 4346/5725] drm/amd/display: DP link validation bug for YUV422
+
+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>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 47 +++++++++++-------------
+ 1 file changed, 21 insertions(+), 26 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+index 7f0fdf7..cb376cf 100644
+--- 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_timing(
+ 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;
+--
+2.7.4
+