diff options
author | Eric Anholt <eric@anholt.net> | 2010-11-17 20:31:13 -0500 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-11-22 04:01:55 -0500 |
commit | 75a6898ffd20a13aba8d03f005eb4ab940134fcb (patch) | |
tree | 64ff88d240a6797f5df581e6d2e25062e9215c26 /drivers/gpu/drm/i915/i915_drv.c | |
parent | df9c2042858e85ab46731c13e708a5b0799db848 (diff) |
drm/i915: Also reinit the BSD and BLT rings after a GPU reset.
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index f0e6bd06fc0e..99b574050fde 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c | |||
@@ -472,9 +472,14 @@ int i915_reset(struct drm_device *dev, u8 flags) | |||
472 | */ | 472 | */ |
473 | if (drm_core_check_feature(dev, DRIVER_MODESET) || | 473 | if (drm_core_check_feature(dev, DRIVER_MODESET) || |
474 | !dev_priv->mm.suspended) { | 474 | !dev_priv->mm.suspended) { |
475 | struct intel_ring_buffer *ring = &dev_priv->render_ring; | ||
476 | dev_priv->mm.suspended = 0; | 475 | dev_priv->mm.suspended = 0; |
477 | ring->init(ring); | 476 | |
477 | dev_priv->render_ring.init(&dev_priv->render_ring); | ||
478 | if (HAS_BSD(dev)) | ||
479 | dev_priv->bsd_ring.init(&dev_priv->bsd_ring); | ||
480 | if (HAS_BLT(dev)) | ||
481 | dev_priv->blt_ring.init(&dev_priv->blt_ring); | ||
482 | |||
478 | mutex_unlock(&dev->struct_mutex); | 483 | mutex_unlock(&dev->struct_mutex); |
479 | drm_irq_uninstall(dev); | 484 | drm_irq_uninstall(dev); |
480 | drm_irq_install(dev); | 485 | drm_irq_install(dev); |