On Wed, Nov 05, 2014 at 02:48:48PM -0500, Sean Paul wrote: > > + if (!crtc && crtc != set->crtc) > > I think this should be an || Hm. My idea idea was actually something along the lines of diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 4f80885de3f6..077c792c46e0 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -1271,7 +1271,14 @@ static int update_output_state(struct drm_atomic_state *state, struct drm_crtc *crtc = state->crtcs[i]; struct drm_crtc_state *crtc_state = state->crtc_states[i]; - if (!crtc && crtc != set->crtc) + if (!crtc) + continue; + + /* Don't update ->enable for the CRTC in the set_config request, + * since a mismatch would indicate a bug in the upper layers. + * The actual modeset code later on will catch any + * inconsistencies here. */ + if (crtc == set->crtc) continue; crtc_state->enable = I.e. that we don't recompute the new enable state for set->crtc so that we can catch bug in the helper function or core drm code which maps the legacy ->set_config to the atomic interface. Still r-b with that change applied, or want to take a deeper look again? -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx