<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>