aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0120-drm-amd-display-Fix-vblank-IRQ-refcount-in-DM.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0120-drm-amd-display-Fix-vblank-IRQ-refcount-in-DM.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0120-drm-amd-display-Fix-vblank-IRQ-refcount-in-DM.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0120-drm-amd-display-Fix-vblank-IRQ-refcount-in-DM.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0120-drm-amd-display-Fix-vblank-IRQ-refcount-in-DM.patch
new file mode 100644
index 00000000..97882388
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0120-drm-amd-display-Fix-vblank-IRQ-refcount-in-DM.patch
@@ -0,0 +1,46 @@
+From 95ee8d23e6f3c651745180fe464176b10968785f Mon Sep 17 00:00:00 2001
+From: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
+Date: Thu, 20 Apr 2017 15:47:15 -0400
+Subject: [PATCH 0120/4131] drm/amd/display: Fix vblank IRQ refcount in DM.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Temporary fix follwoing the introduction of page_flip_target
+hook in drm.
+
+Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
+Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
+index ad29ef7..fc5b0f0 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
+@@ -1078,6 +1078,10 @@ static int amdgpu_atomic_helper_page_flip(struct drm_crtc *crtc,
+ if (!state)
+ return -ENOMEM;
+
++ ret = drm_crtc_vblank_get(crtc);
++ if (ret)
++ return ret;
++
+ state->acquire_ctx = drm_modeset_legacy_acquire_ctx(crtc);
+ retry:
+ crtc_state = drm_atomic_get_crtc_state(state, crtc);
+@@ -1117,7 +1121,8 @@ static int amdgpu_atomic_helper_page_flip(struct drm_crtc *crtc,
+ if (ret == -EDEADLK)
+ goto backoff;
+
+- drm_atomic_state_put(state);
++ if (ret)
++ drm_crtc_vblank_put(crtc);
+
+ return ret;
+ backoff:
+--
+2.7.4
+