[Intel-gfx] [PATCH] drm/i915: Localise the fbdev console lock frobbing

Chris Wilson chris at chris-wilson.co.uk
Wed Aug 13 14:58:30 CEST 2014


On Wed, Aug 13, 2014 at 02:46:53PM +0200, Daniel Vetter wrote:
> On Wed, Aug 13, 2014 at 01:09:46PM +0100, Chris Wilson wrote:
> > Rather than take and release the console_lock() around a non-existent
> > DRM_I915_FBDEV, move the lock acquisation into the callee where it will
> > be compiled out by the config option entirely. This includes moving the
> > deferred fb_set_suspend() dance and encapsulating it entirely within
> > intel_fbdev.c.
> > 
> > v2: Use an integral work item so that we can explicitly flush the work
> > upon suspend/unload.
> > 
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > ---
> >  drivers/gpu/drm/i915/i915_dma.c    |  3 ---
> >  drivers/gpu/drm/i915/i915_drv.c    | 28 ++-----------------------
> >  drivers/gpu/drm/i915/i915_drv.h    |  9 +-------
> >  drivers/gpu/drm/i915/intel_drv.h   |  4 ++--
> >  drivers/gpu/drm/i915/intel_fbdev.c | 42 +++++++++++++++++++++++++++++++++++++-
> >  5 files changed, 46 insertions(+), 40 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> > index 860da759ae34..fbab9370cb5c 100644
> > --- a/drivers/gpu/drm/i915/i915_dma.c
> > +++ b/drivers/gpu/drm/i915/i915_dma.c
> > @@ -1339,8 +1339,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
> >  	if (ret)
> >  		goto cleanup_irq;
> >  
> > -	INIT_WORK(&dev_priv->console_resume_work, intel_console_resume);
> > -
> >  	intel_modeset_gem_init(dev);
> >  
> >  	/* Always safe in the mode setting case. */
> > @@ -1857,7 +1855,6 @@ int i915_driver_unload(struct drm_device *dev)
> >  	if (drm_core_check_feature(dev, DRIVER_MODESET)) {
> >  		intel_fbdev_fini(dev);
> >  		intel_modeset_cleanup(dev);
> > -		cancel_work_sync(&dev_priv->console_resume_work);
> 
> This one here seems to have been lost - shouldn't we move this to
> fbdev_fini instead? Otherwise this looks good imo, so I'll fix that up
> while merging if you're ok.

Hmm, I counted on us calling suspend before intel_fbdev_fini() in
unload. Is this not the case? Otherwise I think we should be suspending
the console.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list