|
@@ -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,
|