[Intel-gfx] [PATCH] drm/i915: Accurately track when we mark the hardware as idle/busy

Daniel Vetter daniel at ffwll.ch
Wed Mar 5 11:55:25 CET 2014


On Fri, Feb 21, 2014 at 04:33:07PM -0300, Paulo Zanoni wrote:
> 2014-02-21 14:55 GMT-03:00 Chris Wilson <chris at chris-wilson.co.uk>:
> > We currently call intel_mark_idle() too often, as we do so as a
> > side-effect of processing the request queue. However, we the calls to
> > intel_mark_idle() are expected to be paired with a call to
> > intel_mark_busy() (or else we try to idle the hardware by accessing
> > registers that are already disabled). Make the idle/busy tracking
> > explicit to prevent the multiple calls.
> >
> > v2: We can drop some of the complexity in __i915_add_request() as
> > queue_delayed_work() already behaves as we want (not requeuing the item
> > if it is already in the queue) and mark_busy/mark_idle imply that the
> > idle task is inactive.
> >
> > v3: We do still need to cancel the pending idle task so that it is sent
> > again after the current busy load completes (not in the middle of it).
> >
> > Reported-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Tested-by: Paulo Zanoni <paulo.r.zanoni at intel.com> (ran the pm_pc8
> test suite on HSW)

Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list