disp: msm: avoid cwb on esd recovery commit
This change depends on HAL change which sets CONNECTOR_SET_CRTC property to null for cwb conn, if cwb is enabled during esd failures. This causes power off commit crtc_state's active_changed and connectors_changed set to true, which is causing seamless_crtc to true during msm_disable_outputs and this leads to invalid crtc state. This change modifies the seamless_crtc condition and the msm_crtc_set_mode callback is early returned during such cases to power off crtc. Without this change, crtc_disable is not called which avoids SDE_FENCE_RESET_TIMELINE. On esd failure release fence is not signaled for the planes used in the composition and this further leads to GPU wait on release fence and causes fence timeout. Change-Id: Ie5d8f1b99d6a2d335330331288223fbeba9f6e64 Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
This commit is contained in:

کامیت شده توسط
Gerrit - the friendly Code Review server

والد
7b00783abe
کامیت
8f64b5283a
@@ -88,7 +88,8 @@ static inline bool _msm_seamless_for_crtc(struct drm_atomic_state *state,
|
||||
if (msm_is_mode_seamless_dms(msm_mode) && !enable)
|
||||
return true;
|
||||
|
||||
if (!crtc_state->mode_changed && crtc_state->connectors_changed) {
|
||||
if (!crtc_state->mode_changed && crtc_state->connectors_changed &&
|
||||
crtc_state->active) {
|
||||
for_each_old_connector_in_state(state, connector,
|
||||
conn_state, i) {
|
||||
if ((conn_state->crtc == crtc_state->crtc) ||
|
||||
@@ -319,6 +320,9 @@ msm_crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state)
|
||||
mode = &new_crtc_state->mode;
|
||||
adjusted_mode = &new_crtc_state->adjusted_mode;
|
||||
|
||||
if (!new_crtc_state->active)
|
||||
continue;
|
||||
|
||||
if (!new_crtc_state->mode_changed &&
|
||||
new_crtc_state->connectors_changed) {
|
||||
if (_msm_seamless_for_conn(connector,
|
||||
|
مرجع در شماره جدید
Block a user