<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO --- - [ivb] hang on pageflip"
href="https://bugs.freedesktop.org/show_bug.cgi?id=74053#c6">Comment # 6</a>
on <a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO --- - [ivb] hang on pageflip"
href="https://bugs.freedesktop.org/show_bug.cgi?id=74053">bug 74053</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>One wicked theory I have is that the intoduction of the working SRM is breaking
the flips...
Can you please test:
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 5b7ce3f09681..de70260e50f3 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8593,7 +8593,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev,
len = 4;
if (ring->id == RCS)
- len += 6;
+ len += 4;
ret = intel_ring_begin(ring, len);
if (ret)
@@ -8614,10 +8614,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev,
intel_ring_emit(ring, ~(DERRMR_PIPEA_PRI_FLIP_DONE |
DERRMR_PIPEB_PRI_FLIP_DONE |
DERRMR_PIPEC_PRI_FLIP_DONE));
- intel_ring_emit(ring, MI_STORE_REGISTER_MEM(1) |
- MI_SRM_LRM_GLOBAL_GTT);
- intel_ring_emit(ring, DERRMR);
- intel_ring_emit(ring, ring->scratch.gtt_offset + 256);
+ intel_ring_emit(ring, MI_NOOP);
}</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>