<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [drm] HANG: ecode 9:0:0x9cba0f27, in kscreenlocker_g [103585], reason: Hang on rcs0, action: reset"
href="https://bugs.freedesktop.org/show_bug.cgi?id=106342#c11">Comment # 11</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [drm] HANG: ecode 9:0:0x9cba0f27, in kscreenlocker_g [103585], reason: Hang on rcs0, action: reset"
href="https://bugs.freedesktop.org/show_bug.cgi?id=106342">bug 106342</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>(In reply to Thiago Macieira from <a href="show_bug.cgi?id=106342#c10">comment #10</a>)
<span class="quote">> Created <span class=""><a href="attachment.cgi?id=139501" name="attach_139501" title="card0_error 2018-05-11">attachment 139501</a> <a href="attachment.cgi?id=139501&action=edit" title="card0_error 2018-05-11">[details]</a></span>
> card0_error 2018-05-11</span >
That one is a regular userspace hang.
With respect to the earlier hangs, we've just applied
commit 77dfedb5be03779f9a5d83e323a1b36e32090105
Author: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>>
Date: Fri May 11 13:11:45 2018 +0100
drm/i915/execlists: Use rmb() to order CSB reads
We assume that the CSB is written using the normal ringbuffer
coherency protocols, as outlined in kernel/events/ring_buffer.c:
* (HW) (DRIVER)
*
* if (LOAD ->data_tail) { LOAD ->data_head
* (A) smp_rmb() (C)
* STORE $data LOAD $data
* smp_wmb() (B) smp_mb() (D)
* STORE ->data_head STORE ->data_tail
* }
So we assume that the HW fulfils its ordering requirements (B), and so
we should use a complimentary rmb (C) to ensure that our read of its
WRITE pointer is completed before we start accessing the data.
The final mb (D) is implied by the uncached mmio we perform to inform
the HW of our READ pointer.
to drm-tip which may explain why we didn't drain ELSP.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>