drm/i915: Restore GTT mapping first upon resume
As suggested by Daniel Vetter, this is a safeguard should any of the registers cause reference to PTE entries. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
4a19d02e0a
commit
d1c3b177b9
@ -304,13 +304,18 @@ static int i915_drm_thaw(struct drm_device *dev)
|
|||||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
|
if (drm_core_check_feature(dev, DRIVER_MODESET)) {
|
||||||
|
mutex_lock(&dev->struct_mutex);
|
||||||
|
i915_gem_restore_gtt_mappings(dev);
|
||||||
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
}
|
||||||
|
|
||||||
i915_restore_state(dev);
|
i915_restore_state(dev);
|
||||||
intel_opregion_setup(dev);
|
intel_opregion_setup(dev);
|
||||||
|
|
||||||
/* KMS EnterVT equivalent */
|
/* KMS EnterVT equivalent */
|
||||||
if (drm_core_check_feature(dev, DRIVER_MODESET)) {
|
if (drm_core_check_feature(dev, DRIVER_MODESET)) {
|
||||||
mutex_lock(&dev->struct_mutex);
|
mutex_lock(&dev->struct_mutex);
|
||||||
i915_gem_restore_gtt_mappings(dev);
|
|
||||||
dev_priv->mm.suspended = 0;
|
dev_priv->mm.suspended = 0;
|
||||||
|
|
||||||
error = i915_gem_init_ringbuffer(dev);
|
error = i915_gem_init_ringbuffer(dev);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user