aboutsummaryrefslogtreecommitdiff
path: root/tools/firewire
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-10-16 11:50:01 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-10-16 19:42:14 +0200
commit45c5f2022c798b2938d4c0d1c14795787f610ccd (patch)
treedf020d2a6734d4befeb4b860fc10d90f15be917d /tools/firewire
parent9514ac6e7a55328b1fad4b7fc7227d3beb01d7ad (diff)
drm/i915: Disable all GEM timers and work on unload
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@chris-wilson.co.uk> Tested-by: xunx.fang@intel.com [danvet: Only set ums.suspended for !kms as discussed earlier. Chris noticed that this slipped through.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tools/firewire')
0 files changed, 0 insertions, 0 deletions