disp: msm: sde: trigger a suspend commit if display in video mode
When there is runtime PM suspend and a video mode panel is Doze state or Doze suspend state PM suspend will fail as clocks are on. To avoid this do a suspend commit while entering runtime PM suspend so that xo shutdown will be successful. Change-Id: I108184bf2e5ea18ef54eab879556e9c941514176 Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

szülő
a658fb17b7
commit
7fb1d48409
@@ -4187,7 +4187,8 @@ retry:
|
||||
continue;
|
||||
|
||||
lp = sde_connector_get_lp(conn);
|
||||
if (lp == SDE_MODE_DPMS_LP1) {
|
||||
if (lp == SDE_MODE_DPMS_LP1 &&
|
||||
!sde_encoder_check_curr_mode(conn->encoder, MSM_DISPLAY_VIDEO_MODE)) {
|
||||
/* transition LP1->LP2 on pm suspend */
|
||||
ret = sde_connector_set_property_for_commit(conn, state,
|
||||
CONNECTOR_PROP_LP, SDE_MODE_DPMS_LP2);
|
||||
@@ -4199,7 +4200,8 @@ retry:
|
||||
}
|
||||
}
|
||||
|
||||
if (lp != SDE_MODE_DPMS_LP2) {
|
||||
if (lp != SDE_MODE_DPMS_LP2 ||
|
||||
sde_encoder_check_curr_mode(conn->encoder, MSM_DISPLAY_VIDEO_MODE)) {
|
||||
/* force CRTC to be inactive */
|
||||
crtc_state = drm_atomic_get_crtc_state(state,
|
||||
conn->state->crtc);
|
||||
@@ -4211,7 +4213,8 @@ retry:
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
if (lp != SDE_MODE_DPMS_LP1)
|
||||
if (lp != SDE_MODE_DPMS_LP1 ||
|
||||
sde_encoder_check_curr_mode(conn->encoder, MSM_DISPLAY_VIDEO_MODE))
|
||||
crtc_state->active = false;
|
||||
++num_crtcs;
|
||||
}
|
||||
|
Reference in New Issue
Block a user