<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [NV84] Repeated system crashes under graphics load, E[PFIFO] DMA_PUSHER and lots of E[PGRAPH]"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=70390#c14">Comment # 14</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [NV84] Repeated system crashes under graphics load, E[PFIFO] DMA_PUSHER and lots of E[PGRAPH]"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=70390">bug 70390</a>
              from <span class="vcard"><a class="email" href="mailto:Martin.vGagern@gmx.net" title="Martin von Gagern <Martin.vGagern@gmx.net>"> <span class="fn">Martin von Gagern</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=70390#c13">comment #13</a>)
<span class="quote">> nv84_fence_emit32+0xda/0x1a0

> Can you figure out exactly which write this is pointing at? For some of the
> values, it could be perfectly legitimate to have the 0x406040 value (e.g.
> the sequence id, or the low bits of the address).</span >

It's the sequence id. The inlined OUT_RING function makes line numbers almost
unusable, but I see the right shift for upper_32_bits, and it's the third
nouveau_bo_wr32 call after that. False alarm?

<span class="quote">> My point about nv50_dma_push is that this is the path that user-submitted
> command streams take; they don't go through nouveau_bo_wr*, they are written
> by userspace via mmap'd sections, and then commands are written to the ring
> to jump to them.</span >

I see. And after all, I got the error message in <a href="show_bug.cgi?id=70390#c10">comment #10</a> without triggering
the BUG_ON, so there has to be a way around this check.

So what exactly do I examine in nv50_dma_push? I see arguments delta and
length, and the delta is used to compute some offset. But all of these are
declared as integers of various sizes and signedness, not as pointers. Should I
cast one or the other to void* and iterate over length 32bit words? Or length/4
32bit words?</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>