summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClarence Ip <cip@codeaurora.org>2017-04-19 11:50:11 -0400
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-10 14:56:26 -0700
commita198b6cdd10e8af96b1b934796a7751cccfb2767 (patch)
tree8974e692f1748259123962675e2f5ae42bd6fc9d
parent3d82d66409abb91539bcb9d1f343fcb9d583f2b4 (diff)
drm/msm/sde: avoid adding plane states in crtc atomic check
This patch contains fixes to prevent the CRTC's atomic check from inadvertently adding extra plane states to the current state object. CRs-Fixed: 2037970 Change-Id: Ic0b09ab369f77c2412ba7c3e63fe5032ef9bcd74 Signed-off-by: Clarence Ip <cip@codeaurora.org>
-rw-r--r--drivers/gpu/drm/msm/sde/sde_crtc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/msm/sde/sde_crtc.c b/drivers/gpu/drm/msm/sde/sde_crtc.c
index 41322045ced3..adfe9e54e6f4 100644
--- a/drivers/gpu/drm/msm/sde/sde_crtc.c
+++ b/drivers/gpu/drm/msm/sde/sde_crtc.c
@@ -1134,12 +1134,12 @@ static int sde_crtc_atomic_check(struct drm_crtc *crtc,
/* get plane state for all drm planes associated with crtc state */
drm_atomic_crtc_state_for_each_plane(plane, state) {
- pstate = drm_atomic_get_plane_state(state->state, plane);
+ pstate = drm_atomic_get_existing_plane_state(
+ state->state, plane);
if (IS_ERR_OR_NULL(pstate)) {
- rc = PTR_ERR(pstate);
- SDE_ERROR("%s: failed to get plane%d state, %d\n",
+ SDE_DEBUG("%s: failed to get plane%d state, %d\n",
sde_crtc->name, plane->base.id, rc);
- goto end;
+ continue;
}
if (cnt >= ARRAY_SIZE(pstates))
continue;