aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2017-05-21 12:05:07 -0400
committerRob Clark <robdclark@gmail.com>2017-05-27 13:48:27 -0400
commitadcbae310f9ed84ef139e3fa6d7a7743d96c44c8 (patch)
tree3d3c38b6762dfbfbdace942c0769725743a05c45 /drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
parentdrm/msm: Reuse dma_fence_release. (diff)
downloadlinux-dev-adcbae310f9ed84ef139e3fa6d7a7743d96c44c8.tar.xz
linux-dev-adcbae310f9ed84ef139e3fa6d7a7743d96c44c8.zip
drm/msm/mdp5: release hwpipe(s) for unused planes
Otherwise, if userspace doesn't re-use a given plane, it's hwpipe(s) could stay permanently assigned. Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to '')
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
index 30b4691f7b0d..7d3741215387 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
@@ -445,6 +445,10 @@ static int mdp5_plane_atomic_check_with_state(struct drm_crtc_state *crtc_state,
mdp5_pipe_release(state->state, old_hwpipe);
mdp5_pipe_release(state->state, old_right_hwpipe);
}
+ } else {
+ mdp5_pipe_release(state->state, mdp5_state->hwpipe);
+ mdp5_pipe_release(state->state, mdp5_state->r_hwpipe);
+ mdp5_state->hwpipe = mdp5_state->r_hwpipe = NULL;
}
return 0;