drm/msm/mdp5: ignore planes that are not visible
Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
96169f4e75
commit
a055cf3a97
|
@ -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)
|
||||||
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,
|
||||||
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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue