On Mon, Apr 7, 2014 at 8:12 PM, Damien Lespiau <damien.lespiau@xxxxxxxxx> wrote: >> This patch series implement execlists for GEN8+. Before continuing, it >> is important to mention that I might have taken upon myself to >> assemble the series and rewrite it for upstreaming, but many people >> have worked on this series before me. > > Two more things before I forget: > > - The error reporting seems broken and doesn't report the ring buffers > content nor the correct per-ring register, from a cursory glance > (fairly important, we can't go live without good error state > support) I think we should finally go ahead an have a somewhat functional testcase for the error state dumper. Here's what I have in mind which at least guarantees that shit works at a _very_ basic level: 1. Allocate gem object, use it as a noop batch. 2. Take note of the presumed offset returned by the kernel 3. Write some cookie value at the end of the noop batch. 4. Hang rings with the igt/debugfs stop rings architecture. 5. Launch batch, block on completion. 6. Check that the hang was properly detected (i.e. stop_rings cleared). 7. Read error state and check that the batch objects for your ring contains the cookie and check that the ring objects contains a reloc with MI_BB_START for your presumed batch object's address. The kernel shouldn't have moved the object around. Repeat as subtest for all rings like we do with all the other per-ring tests. I'll do a JIRA out of this tomorrow blocking execlists, so consider yourself signed up ;-) Cheers, Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx