aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4986-drm-amdgpu-use-drm_fb-helper-for-console_-un-lock.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4986-drm-amdgpu-use-drm_fb-helper-for-console_-un-lock.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4986-drm-amdgpu-use-drm_fb-helper-for-console_-un-lock.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4986-drm-amdgpu-use-drm_fb-helper-for-console_-un-lock.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4986-drm-amdgpu-use-drm_fb-helper-for-console_-un-lock.patch
new file mode 100644
index 00000000..2824db23
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4986-drm-amdgpu-use-drm_fb-helper-for-console_-un-lock.patch
@@ -0,0 +1,67 @@
+From 9b43f4c2c30e66ca3f6bb3bfd5a6aa9ab3c894cd Mon Sep 17 00:00:00 2001
+From: Shirish S <shirish.s@amd.com>
+Date: Fri, 20 Jul 2018 17:26:50 +0530
+Subject: [PATCH 4986/5725] drm/amdgpu: use drm_fb helper for console_(un)lock
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This patch removes the usage of console_(un)lock
+by replacing drm_fb_helper_set_suspend() to
+drm_fb_helper_set_suspend_unlocked() which locks and
+unlocks the console instead of locking ourselves.
+
+Signed-off-by: Shirish S <shirish.s@amd.com>
+Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 ++------
+ drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 4 ++--
+ 2 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+index 7ac4de2..8c85387 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+@@ -2743,11 +2743,9 @@ int amdgpu_device_suspend(struct drm_device *dev, bool suspend, bool fbcon)
+ DRM_ERROR("amdgpu asic reset failed\n");
+ }
+
+- if (fbcon) {
+- console_lock();
++ if (fbcon)
+ amdgpu_fbdev_set_suspend(adev, 1);
+- console_unlock();
+- }
++
+ return 0;
+ }
+
+@@ -2836,9 +2834,7 @@ int amdgpu_device_resume(struct drm_device *dev, bool resume, bool fbcon)
+ }
+ drm_modeset_unlock_all(dev);
+ }
+- console_lock();
+ amdgpu_fbdev_set_suspend(adev, 0);
+- console_unlock();
+ }
+
+ drm_kms_helper_poll_enable(dev);
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
+index f2c7dbd..7ff11d7 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
+@@ -379,8 +379,8 @@ void amdgpu_fbdev_fini(struct amdgpu_device *adev)
+ void amdgpu_fbdev_set_suspend(struct amdgpu_device *adev, int state)
+ {
+ if (adev->mode_info.rfbdev)
+- drm_fb_helper_set_suspend(&adev->mode_info.rfbdev->helper,
+- state);
++ drm_fb_helper_set_suspend_unlocked(&adev->mode_info.rfbdev->helper,
++ state);
+ }
+
+ int amdgpu_fbdev_total_size(struct amdgpu_device *adev)
+--
+2.7.4
+