Comment 65 for bug 1339939

Revision history for this message
In , Mika-kuoppala (mika-kuoppala) wrote :

No good ideas here either, but would be nice to see if this makes a difference on
ring init:

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 4024e16..708a1da 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -573,6 +573,15 @@ static int i915_drm_thaw_early(struct drm_device *dev)
 static int __i915_drm_thaw(struct drm_device *dev, bool restore_gtt_mappings)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
+ int ret;
+
+ mutex_lock(&dev->struct_mutex);
+ ret = intel_gpu_reset(dev);
+ mutex_unlock(&dev->struct_mutex);
+
+ if (ret)
+ DRM_ERROR("failed to reset the GPU on resume (%d), ignoring\n",
+ ret);