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

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


On Wed, Aug 13, 2014 at 01:39:22PM +0200, Daniel Vetter wrote:
> On Wed, Aug 13, 2014 at 12:32:33PM +0100, Chris Wilson wrote:
> > On Wed, Aug 13, 2014 at 01:26:40PM +0200, Daniel Vetter wrote:
> > > On Tue, Aug 12, 2014 at 03:15:17PM +0100, Chris Wilson wrote:
> > > > +static void intel_fbdev_set_suspend_worker(struct work_struct *work)
> > > > +{
> > > > +	struct set_suspend_work *ss = container_of(work, typeof(*ss), work);
> > > > +	intel_fbdev_set_suspend(ss->dev, ss->state);
> > > 
> > > This still trylocks so ends up busy-looping through launching more work
> > > items. Probably better also do this synchronously.
> > 
> > Considered that, but I decided that trying to keep the locking
> > straightforward was better.
> 
> Open-coding console_lock(); fb_set_suspend(); console_unlock(); doesn't
> really look onerous to me.

Apart from intel_fbdev_set_suspend does a little bit more on resume.
It's simple enough to add an extra parameter to tell
intel_fbdev_set_suspend to wait.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list