On Wed, Feb 01, 2017 at 10:03:07AM +0200, Joonas Lahtinen wrote:
> On to, 2017-01-19 at 11:41 +0000, Chris Wilson wrote:
> > +   if (gen >= 8) {
> > +           *cmd++ = MI_BATCH_BUFFER_START | 1 << 8 | 1;
> > +           *cmd++ = lower_32_bits(vma->node.start);
> > +           *cmd++ = upper_32_bits(vma->node.start);
> > +   } else if (gen >= 6) {
> > +           *cmd++ = MI_BATCH_BUFFER_START | 1 << 8;
> > +           *cmd++ = lower_32_bits(vma->node.start);
> > +   } else if (gen >= 4) {
> > +           *cmd++ = MI_BATCH_BUFFER_START | MI_BATCH_GTT;
> > +           *cmd++ = lower_32_bits(vma->node.start);
> > +   } else {
> > +           *cmd++ = MI_BATCH_BUFFER_START | MI_BATCH_GTT | 1;
> > +           *cmd++ = lower_32_bits(vma->node.start);
> > +   }
> 
> I'm sure this is not first time I see this hunk.

Of this variant, it is. What's really frustating is that we almost have
the right vfuncs. Tempted to build a dummy request to reuse the current
emitters....

> <SNIP>
> 
> > +   if (i915->gpu_error.missed_irq_rings) {
> > +           pr_err("%s: Missed interrupts on rings %lx\n", __func__,
> > +                  i915->gpu_error.missed_irq_rings);
> > +           err = -EIO;
> > +           goto out_request;
> > +   }
> 
> Should we have a running missed_irqs counter too? Just wondering.

Since then we now have begin_live_test(&t); end_live_test(&t) that does
the hang/missed checking.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to