aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4744-drm-amd-display-Do-not-skip-FBC-init-in-failsafe-mod.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4744-drm-amd-display-Do-not-skip-FBC-init-in-failsafe-mod.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4744-drm-amd-display-Do-not-skip-FBC-init-in-failsafe-mod.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4744-drm-amd-display-Do-not-skip-FBC-init-in-failsafe-mod.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4744-drm-amd-display-Do-not-skip-FBC-init-in-failsafe-mod.patch
new file mode 100644
index 00000000..e967d70e
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4744-drm-amd-display-Do-not-skip-FBC-init-in-failsafe-mod.patch
@@ -0,0 +1,44 @@
+From 31f4f5970c6b6e5276a8ab7cc66e747bea98b799 Mon Sep 17 00:00:00 2001
+From: Mikita Lipski <mikita.lipski@amd.com>
+Date: Mon, 28 May 2018 10:08:30 -0400
+Subject: [PATCH 4744/5725] drm/amd/display: Do not skip FBC init in failsafe
+ mode
+
+Initially FBC would be initialized if display's edid was correct
+and all the modes acquired from it, but n case when edid is corrupted
+or non-existant we must still initialize FBC.
+
+Signed-off-by: Mikita Lipski <mikita.lipski@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>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+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 8bc6736..985c3b9 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -3799,12 +3799,12 @@ static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
+
+ encoder = helper->best_encoder(connector);
+
+- if (!edid || !drm_edid_is_valid(edid))
+- return drm_add_modes_noedid(connector, 640, 480);
+-
+- amdgpu_dm_connector_ddc_get_modes(connector, edid);
+- amdgpu_dm_connector_add_common_modes(encoder, connector);
+-
++ if (!edid || !drm_edid_is_valid(edid)) {
++ drm_add_modes_noedid(connector, 640, 480);
++ } else {
++ amdgpu_dm_connector_ddc_get_modes(connector, edid);
++ amdgpu_dm_connector_add_common_modes(encoder, connector);
++ }
+ amdgpu_dm_fbc_init(connector);
+
+ return amdgpu_dm_connector->num_modes;
+--
+2.7.4
+