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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx