[Intel-gfx] [PATCH] drm/i915: Disable all GEM timers and work on unload
Daniel Vetter
daniel at ffwll.ch
Wed Oct 16 13:50:29 CEST 2013
On Wed, Oct 16, 2013 at 11:50:01AM +0100, Chris Wilson wrote:
> We have two once very similar functions, i915_gpu_idle() and
> i915_gem_idle(). The former is used as the lower level operation to
> flush work on the GPU, whereas the latter is the high level interface to
> flush the GEM bookkeeping in addition to flushing the GPU. As such
> i915_gem_idle() also clears out the request and activity lists and
> cancels the delayed work. This is what we need for unloading the driver,
> unfortunately we called i915_gpu_idle() instead.
>
> In the process, make sure that when cancelling the delayed work and
> timer, which is synchronous, that we do not hold any locks to prevent a
> deadlock if the work item is already waiting upon the mutex. This
> requires us to push the mutex down from the caller to i915_gem_idle().
>
> v2: s/i915_gem_idle/i915_gem_suspend/
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70334
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Tested-by: xunx.fang at intel.com
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