drm/i915: Remove nested work in gpu error handling
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Wed, 28 Jan 2015 15:03:14 +0000 (17:03 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 29 Jan 2015 17:03:07 +0000 (18:03 +0100)
commitb8d24a06568368076ebd5a858a011699a97bfa42
treecb627b2237cc410389311838260072429541337c
parent397f6fa6b1d5150add9043d7ac60e32307eb7c6b
drm/i915: Remove nested work in gpu error handling

Now when we declare gpu errors only through our own dedicated
hangcheck workqueue there is no need to have a separate workqueue
for handling the resetting and waking up the clients as the deadlock
concerns are no more.

The only exception is i915_debugfs::i915_set_wedged, which triggers
error handling through process context. However as this is only used through
test harness it is responsibility for test harness not to introduce hangs
through both debug interface and through hangcheck mechanism at the same time.

Remove gpu_error.work and let the hangcheck work do the tasks it used to.

v2: Add a big warning sign into i915_debugfs::i915_set_wedged (Chris)

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c