summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm
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
parent3c30cc41a87880db86c343b8c9cc8bc2d3d36055 (diff)
downloadop-kernel-dev-adcbae310f9ed84ef139e3fa6d7a7743d96c44c8.zip
op-kernel-dev-adcbae310f9ed84ef139e3fa6d7a7743d96c44c8.tar.gz
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 'drivers/gpu/drm/msm')
-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 30b4691..7d37412 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;
OpenPOWER on IntegriCloud