[Bug 64610] [845g regression] Suspend does not work on 845g with kernel 3.8.0-rc6

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jul 5 12:24:33 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=64610

--- Comment #12 from Chris Wilson <chris at chris-wilson.co.uk> ---
You need Daniel's ring cleanup patch, and I think (the second chunk) of:

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c
b/drivers/gpu/drm/i915/intel_ringbuffer.c
index d7ca64e..738f54b 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -1281,6 +1281,11 @@ static int intel_init_ring_buffer(struct drm_device
*dev,
             return ret;
     }

+    /* Stop the ring if it's running. */
+    I915_WRITE_CTL(ring, 0);
+    I915_WRITE_HEAD(ring, 0);
+    ring->write_tail(ring, 0);
+
     obj = NULL;
     if (!HAS_LLC(dev))
         obj = i915_gem_object_create_stolen(dev, ring->size);
@@ -1821,10 +1826,17 @@ int intel_init_render_ring_buffer(struct drm_device
*dev)
             return -ENOMEM;
         }

-        ret = i915_gem_object_pin(obj, 0, true, false);
+        ret = i915_gem_object_pin(obj, 0, false, false);
         if (ret != 0) {
             drm_gem_object_unreference(&obj->base);
-            DRM_ERROR("Failed to ping batch bo\n");
+            DRM_ERROR("Failed to pin batch bo\n");
+            return ret;
+        }
+
+        ret = i915_gem_object_set_to_gtt_domain(obj, true);
+        if (ret) {
+            drm_gem_object_unreference(&obj->base);
+            DRM_ERROR("Failed to flush batch bo\n");
             return ret;
         }

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20130705/46c8f177/attachment.html>


More information about the intel-gfx-bugs mailing list