aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1258-drm-amd-display-Fix-MST-reboot-poweroff-sequence.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1258-drm-amd-display-Fix-MST-reboot-poweroff-sequence.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1258-drm-amd-display-Fix-MST-reboot-poweroff-sequence.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1258-drm-amd-display-Fix-MST-reboot-poweroff-sequence.patch b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1258-drm-amd-display-Fix-MST-reboot-poweroff-sequence.patch
new file mode 100644
index 00000000..12b360c8
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1258-drm-amd-display-Fix-MST-reboot-poweroff-sequence.patch
@@ -0,0 +1,46 @@
+From 82e2c549f9ee52d4d9d66207a30025ff0e1e1f07 Mon Sep 17 00:00:00 2001
+From: "Leo (Hanghong) Ma" <hanghong.ma@amd.com>
+Date: Thu, 24 Jan 2019 15:07:52 -0500
+Subject: [PATCH 1258/2940] drm/amd/display: Fix MST reboot/poweroff sequence
+
+[Why]
+
+drm_dp_mst_topology_mgr_suspend() is added into the new reboot
+sequence, which disables the UP request at the beginning.
+Therefore sideband messages are blocked.
+
+[How]
+
+Finish MST sideband message transaction before UP request is
+suppressed.
+
+Signed-off-by: Leo (Hanghong) Ma <hanghong.ma@amd.com>
+Reviewed-by: Roman Li <Roman.Li@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 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 9c8cd95a412d..3cc42a882d36 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -785,12 +785,13 @@ static int dm_suspend(void *handle)
+ struct amdgpu_display_manager *dm = &adev->dm;
+ int ret = 0;
+
++ WARN_ON(adev->dm.cached_state);
++ adev->dm.cached_state = drm_atomic_helper_suspend(adev->ddev);
++
+ s3_handle_mst(adev->ddev, true);
+
+ amdgpu_dm_irq_suspend(adev);
+
+- WARN_ON(adev->dm.cached_state);
+- adev->dm.cached_state = drm_atomic_helper_suspend(adev->ddev);
+
+ dc_set_power_state(dm->dc, DC_ACPI_CM_POWER_STATE_D3);
+
+--
+2.17.1
+