From 95ee8d23e6f3c651745180fe464176b10968785f Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky 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 Reviewed-by: Michel Dänzer Signed-off-by: Alex Deucher --- 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