Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1c3b177 authored by Chris Wilson's avatar Chris Wilson
Browse files

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: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent 4a19d02e
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -304,13 +304,18 @@ static int i915_drm_thaw(struct drm_device *dev)
	struct drm_i915_private *dev_priv = dev->dev_private;
	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);
	intel_opregion_setup(dev);

	/* KMS EnterVT equivalent */
	if (drm_core_check_feature(dev, DRIVER_MODESET)) {
		mutex_lock(&dev->struct_mutex);
		i915_gem_restore_gtt_mappings(dev);
		dev_priv->mm.suspended = 0;

		error = i915_gem_init_ringbuffer(dev);