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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx