[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