On Wed, Oct 08, 2014 at 06:32:21PM +0300, Ander Conselvan de Oliveira wrote: > From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> > > This shouldn't change the behavior of those functions, since they are > called after the new_config is made effective and that points to the > current config. In a follow up patch, the mode set sequence will be > changed so this is called before disabling crtcs, and in that case > those functions should work on the staged config. > > Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> [snip] > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 3a06c3d..9d8fe8d 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -420,13 +420,32 @@ static bool intel_pipe_has_type(struct drm_crtc *crtc, int type) > return false; > } > > +/** > + * Returns whether any output on the specified pipe will have the specified > + * type after a staged modeset is complete, i.e., the same as > + * intel_pipe_has_type() but looking at encoder->new_crtc instead of > + * encoder->crtc. > + */ > +static bool intel_pipe_will_have_type(struct drm_crtc *crtc, int type) s/drm_crtc/intel_crtc/ - general rule in the driver is to use the most specific type to avoid massive amounts of upcasting everywhere. > +{ > + struct drm_device *dev = crtc->dev; > + struct intel_encoder *encoder; > + > + for_each_intel_encoder(dev, encoder) > + if (encoder->new_crtc == to_intel_crtc(crtc) && > + encoder->type == type) > + return true; > + > + return false; > +} Just aside: With atomic we'll have the list of connectors in a table in the atomic state structures (and no longer with pointers in the objects itself). So this function might gain a few more parameters, but we can do that later on easily. -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