diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-01-24 10:14:41 -0500 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-01-25 14:23:28 -0500 |
commit | 500f7147cf5bafd139056d521536b10c2bc2e154 (patch) | |
tree | ee18c9c05fa929d716bbd1c06d84549e197a9a36 /drivers/gpu | |
parent | eb03355660b44cf6b1ed2f895085b9de8f74efbc (diff) |
drm/i915: Reset state after a GPU reset or resume
Call drm_mode_config_reset() after an invalidation event to restore any
cached state to unknown.
Tested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 66796bb82d3e..e517447b0880 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c | |||
@@ -354,6 +354,7 @@ static int i915_drm_thaw(struct drm_device *dev) | |||
354 | error = i915_gem_init_ringbuffer(dev); | 354 | error = i915_gem_init_ringbuffer(dev); |
355 | mutex_unlock(&dev->struct_mutex); | 355 | mutex_unlock(&dev->struct_mutex); |
356 | 356 | ||
357 | drm_mode_config_reset(dev); | ||
357 | drm_irq_install(dev); | 358 | drm_irq_install(dev); |
358 | 359 | ||
359 | /* Resume the modeset for every activated CRTC */ | 360 | /* Resume the modeset for every activated CRTC */ |
@@ -542,6 +543,7 @@ int i915_reset(struct drm_device *dev, u8 flags) | |||
542 | 543 | ||
543 | mutex_unlock(&dev->struct_mutex); | 544 | mutex_unlock(&dev->struct_mutex); |
544 | drm_irq_uninstall(dev); | 545 | drm_irq_uninstall(dev); |
546 | drm_mode_config_reset(dev); | ||
545 | drm_irq_install(dev); | 547 | drm_irq_install(dev); |
546 | mutex_lock(&dev->struct_mutex); | 548 | mutex_lock(&dev->struct_mutex); |
547 | } | 549 | } |