aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4926-drm-amd-display-Add-YCbCr420-only-support-for-HDMI-4.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4926-drm-amd-display-Add-YCbCr420-only-support-for-HDMI-4.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4926-drm-amd-display-Add-YCbCr420-only-support-for-HDMI-4.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4926-drm-amd-display-Add-YCbCr420-only-support-for-HDMI-4.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4926-drm-amd-display-Add-YCbCr420-only-support-for-HDMI-4.patch
new file mode 100644
index 00000000..986e7a8c
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4926-drm-amd-display-Add-YCbCr420-only-support-for-HDMI-4.patch
@@ -0,0 +1,53 @@
+From 85217e9dc63056667627919b38a28b82b622601c Mon Sep 17 00:00:00 2001
+From: "Jerry (Fangzhi) Zuo" <Jerry.Zuo@amd.com>
+Date: Fri, 22 Jun 2018 17:12:47 -0400
+Subject: [PATCH 4926/5725] drm/amd/display: Add YCbCr420 only support for HDMI
+ 4K@60
+
+[Why]
+Some monitors mark 4K@60 capable HDMI port only have 300MHz TMDS
+maximum, but the edid includes 4K@60 mode in cea extension block.
+
+[How]
+To enable 4K@60, need to limit BW by allowing YCbCr420 ONLY mode.
+Add YCbCr420 only support for monitors that do not fully support
+HDMI2.0, e.g., ASUS PA328. The YCbCr420 only support applies to
+DCN, DCE112 or higher.
+
+Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo@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/amdgpu_dm/amdgpu_dm.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+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 1d7504a..d52d004 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -3829,7 +3829,6 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
+ aconnector->base.stereo_allowed = false;
+ aconnector->base.dpms = DRM_MODE_DPMS_OFF;
+ aconnector->hpd.hpd = AMDGPU_HPD_NONE; /* not used */
+-
+ mutex_init(&aconnector->hpd_lock);
+
+ /* configure support HPD hot plug connector_>polled default value is 0
+@@ -3838,9 +3837,13 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
+ switch (connector_type) {
+ case DRM_MODE_CONNECTOR_HDMIA:
+ aconnector->base.polled = DRM_CONNECTOR_POLL_HPD;
++ aconnector->base.ycbcr_420_allowed =
++ link->link_enc->features.ycbcr420_supported ? true : false;
+ break;
+ case DRM_MODE_CONNECTOR_DisplayPort:
+ aconnector->base.polled = DRM_CONNECTOR_POLL_HPD;
++ aconnector->base.ycbcr_420_allowed =
++ link->link_enc->features.ycbcr420_supported ? true : false;
+ break;
+ case DRM_MODE_CONNECTOR_DVID:
+ aconnector->base.polled = DRM_CONNECTOR_POLL_HPD;
+--
+2.7.4
+