From fc56980d0419d2d462a3b584169469f0118809aa Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Thu, 5 Jan 2017 11:24:31 -0500 Subject: [PATCH] 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. Change-Id: Iebb736fd861358cbf1ed4b0b37134dae1fd68c63 Signed-off-by: Andrey Grodzovsky Reviewed-by: Michel Dänzer --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 7 +++++++ 1 file changed, 7 insertions(+) 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 1701a6393029f..09e705d37084f 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 @@ -1077,6 +1077,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); @@ -1116,6 +1120,9 @@ static int amdgpu_atomic_helper_page_flip(struct drm_crtc *crtc, if (ret == -EDEADLK) goto backoff; + if (ret) + drm_crtc_vblank_put(crtc); + drm_atomic_state_free(state); return ret;