Commit a055cf3a authored by Rob Clark's avatar Rob Clark

drm/msm/mdp5: ignore planes that are not visible

Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent 96169f4e
...@@ -114,6 +114,8 @@ static u32 crtc_flush_all(struct drm_crtc *crtc) ...@@ -114,6 +114,8 @@ static u32 crtc_flush_all(struct drm_crtc *crtc)
return 0; return 0;
drm_atomic_crtc_for_each_plane(plane, crtc) { drm_atomic_crtc_for_each_plane(plane, crtc) {
if (!plane->state->visible)
continue;
flush_mask |= mdp5_plane_get_flush(plane); flush_mask |= mdp5_plane_get_flush(plane);
} }
...@@ -242,6 +244,9 @@ static void blend_setup(struct drm_crtc *crtc) ...@@ -242,6 +244,9 @@ static void blend_setup(struct drm_crtc *crtc)
drm_atomic_crtc_for_each_plane(plane, crtc) { drm_atomic_crtc_for_each_plane(plane, crtc) {
enum mdp5_pipe right_pipe; enum mdp5_pipe right_pipe;
if (!plane->state->visible)
continue;
pstate = to_mdp5_plane_state(plane->state); pstate = to_mdp5_plane_state(plane->state);
pstates[pstate->stage] = pstate; pstates[pstate->stage] = pstate;
stage[pstate->stage][PIPE_LEFT] = mdp5_plane_pipe(plane); stage[pstate->stage][PIPE_LEFT] = mdp5_plane_pipe(plane);
...@@ -586,6 +591,9 @@ static int mdp5_crtc_atomic_check(struct drm_crtc *crtc, ...@@ -586,6 +591,9 @@ static int mdp5_crtc_atomic_check(struct drm_crtc *crtc,
DBG("%s: check", crtc->name); DBG("%s: check", crtc->name);
drm_atomic_crtc_state_for_each_plane_state(plane, pstate, state) { drm_atomic_crtc_state_for_each_plane_state(plane, pstate, state) {
if (!pstate->visible)
continue;
pstates[cnt].plane = plane; pstates[cnt].plane = plane;
pstates[cnt].state = to_mdp5_plane_state(pstate); pstates[cnt].state = to_mdp5_plane_state(pstate);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment