|
@@ -463,7 +463,8 @@ drm_atomic_helper_check_modeset(struct drm_device *dev,
|
|
* crtc only changed its mode but has the same set of connectors.
|
|
* crtc only changed its mode but has the same set of connectors.
|
|
*/
|
|
*/
|
|
for_each_crtc_in_state(state, crtc, crtc_state, i) {
|
|
for_each_crtc_in_state(state, crtc, crtc_state, i) {
|
|
- int num_connectors;
|
|
|
|
|
|
+ bool has_connectors =
|
|
|
|
+ !!crtc_state->connector_mask;
|
|
|
|
|
|
/*
|
|
/*
|
|
* We must set ->active_changed after walking connectors for
|
|
* We must set ->active_changed after walking connectors for
|
|
@@ -492,10 +493,7 @@ drm_atomic_helper_check_modeset(struct drm_device *dev,
|
|
if (ret != 0)
|
|
if (ret != 0)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
- num_connectors = drm_atomic_connectors_for_crtc(state,
|
|
|
|
- crtc);
|
|
|
|
-
|
|
|
|
- if (crtc_state->enable != !!num_connectors) {
|
|
|
|
|
|
+ if (crtc_state->enable != has_connectors) {
|
|
DRM_DEBUG_ATOMIC("[CRTC:%d:%s] enabled/connectors mismatch\n",
|
|
DRM_DEBUG_ATOMIC("[CRTC:%d:%s] enabled/connectors mismatch\n",
|
|
crtc->base.id, crtc->name);
|
|
crtc->base.id, crtc->name);
|
|
|
|
|
|
@@ -1754,7 +1752,7 @@ static int update_output_state(struct drm_atomic_state *state,
|
|
if (crtc == set->crtc)
|
|
if (crtc == set->crtc)
|
|
continue;
|
|
continue;
|
|
|
|
|
|
- if (!drm_atomic_connectors_for_crtc(state, crtc)) {
|
|
|
|
|
|
+ if (!crtc_state->connector_mask) {
|
|
ret = drm_atomic_set_mode_prop_for_crtc(crtc_state,
|
|
ret = drm_atomic_set_mode_prop_for_crtc(crtc_state,
|
|
NULL);
|
|
NULL);
|
|
if (ret < 0)
|
|
if (ret < 0)
|