On Thu, May 11, 2017 at 04:10:46PM -0300, Gustavo Padovan wrote: > From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxx> > > Drop legacy drm_for_each_connector() in favor of the race-free > drm_for_each_connector_iter(). > > Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> > Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxx> > > --- > only built-tested! > --- > drivers/gpu/drm/nouveau/nv50_display.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c > index 0e58537..8790bdc 100644 > --- a/drivers/gpu/drm/nouveau/nv50_display.c > +++ b/drivers/gpu/drm/nouveau/nv50_display.c > @@ -2871,17 +2871,20 @@ nv50_msto_enable(struct drm_encoder *encoder) > struct nv50_mstc *mstc = NULL; > struct nv50_mstm *mstm = NULL; > struct drm_connector *connector; > + struct drm_connector_list_iter conn_iter; > u8 proto, depth; > int slots; > bool r; > > - drm_for_each_connector(connector, encoder->dev) { > + drm_connector_list_iter_begin(encoder->dev, &conn_iter); > + drm_for_each_connector_iter(connector, &conn_iter) { > if (connector->state->best_encoder == &msto->encoder) { > mstc = nv50_mstc(connector); > mstm = mstc->mstm; > break; We probably want an encoder->atomic_enable which passes both states (crtc&connector) instead of fun like this. But that's a different storey. See i915 for how we've done this for our intel-specific encoder callbacks. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > } > } > + drm_connector_list_iter_end(&conn_iter); > > if (WARN_ON(!mstc)) > return; > -- > 2.9.3 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel