[Intel-gfx] [PATCH] drm/i915: make CRTC enable/disable asynchronous v3

Jesse Barnes jbarnes at virtuousgeek.org
Sat May 31 00:10:03 CEST 2014


On Fri, 30 May 2014 23:02:18 +0100
Chris Wilson <chris at chris-wilson.co.uk> wrote:

> On Fri, May 30, 2014 at 02:28:52PM -0700, Jesse Barnes wrote:
> > @@ -10326,7 +10466,7 @@ static int __intel_set_mode(struct drm_crtc *crtc,
> >  
> >  	for_each_intel_crtc_masked(dev, prepare_pipes, intel_crtc) {
> >  		if (intel_crtc->base.enabled)
> > -			dev_priv->display.crtc_disable(&intel_crtc->base);
> > +			intel_queue_crtc_disable(&intel_crtc->base);
> >  	}
> 
> This one looks odd. prepare_pipes are the pipes we have to turn off in
> order to perform the modeset - which needs to be synchronous.
> 
> intel_sync_crtcs(prepare_pipes) ?

Well, they'll happen in order.  But I was just looking at this code and
in cases where ->mode_set messes with regs rather than staging it for
->crtc_enable we'll lose stuff here.

Until we have that, doing the disables for the prepare_pipe
synchronously is probably the right thing to do.

-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list