[Bug 71701] Regression, Dual-Head, i915 mode-setting driver, "pipe B stuck"

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Mon Mar 10 14:23:16 PDT 2014


https://bugzilla.kernel.org/show_bug.cgi?id=71701

Chris Wilson <chris at chris-wilson.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |chris at chris-wilson.co.uk

--- Comment #5 from Chris Wilson <chris at chris-wilson.co.uk> ---
That's an unexpected result. There is one issue in the patch, but it should be
harmless:

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c
b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 10fd19f..bc7abf4 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -1638,14 +1638,16 @@ int intel_ring_begin(struct intel_ring_buffer *ring,
 }

 /* Align the ring tail to a cacheline boundary */
+#define CACHELINE_ALIGN 64
 int intel_ring_cacheline_align(struct intel_ring_buffer *ring)
 {
-       int num_dwords = (64 - (ring->tail & 63)) / sizeof(uint32_t);
+       int num_dwords = (ring->tail & (CACHELINE_ALIGN - 1)) /
sizeof(uint32_t);
        int ret;

        if (num_dwords == 0)
                return 0;

+       num_dwords = CACHELINE_ALIGN / sizeof(uint32_t) - num_dwords;
        ret = intel_ring_begin(ring, num_dwords);
        if (ret)
                return ret;

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the intel-gfx-bugs mailing list