diff options
author | Eric Anholt <eric@anholt.net> | 2009-08-03 19:09:16 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-08-05 14:20:53 -0400 |
commit | 9c9fe1f841745184bbc5460c6f3909fded3b929b (patch) | |
tree | 7633580a02803cbe32e5ebda4a834f436ebba5c0 /drivers/gpu/drm/i915/i915_irq.c | |
parent | 0c2e39525b3b53a97a0202c5f35058147e53977e (diff) |
drm/i915: Use our own workqueue to avoid wedging the system along with the GPU.
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_irq.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index f340b3fd54e..83aee80e77a 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -482,7 +482,7 @@ static void i915_handle_error(struct drm_device *dev) | |||
482 | I915_WRITE(IIR, I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT); | 482 | I915_WRITE(IIR, I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT); |
483 | } | 483 | } |
484 | 484 | ||
485 | schedule_work(&dev_priv->error_work); | 485 | queue_work(dev_priv->wq, &dev_priv->error_work); |
486 | } | 486 | } |
487 | 487 | ||
488 | irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) | 488 | irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) |
@@ -560,7 +560,8 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) | |||
560 | DRM_DEBUG("hotplug event received, stat 0x%08x\n", | 560 | DRM_DEBUG("hotplug event received, stat 0x%08x\n", |
561 | hotplug_status); | 561 | hotplug_status); |
562 | if (hotplug_status & dev_priv->hotplug_supported_mask) | 562 | if (hotplug_status & dev_priv->hotplug_supported_mask) |
563 | schedule_work(&dev_priv->hotplug_work); | 563 | queue_work(dev_priv->wq, |
564 | &dev_priv->hotplug_work); | ||
564 | 565 | ||
565 | I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status); | 566 | I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status); |
566 | I915_READ(PORT_HOTPLUG_STAT); | 567 | I915_READ(PORT_HOTPLUG_STAT); |