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:
Mahadevan
2023-05-05 14:45:13 +05:30
committed by Gerrit - the friendly Code Review server
szülő a658fb17b7
commit 7fb1d48409

Fájl megtekintése

@@ -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;
}