On to, 2017-01-19 at 11:41 +0000, Chris Wilson wrote: > Use a recursive-batch to busy spin on each to ensure that each is being > run simultaneously. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> <SNIP> > --- > drivers/gpu/drm/i915/selftests/i915_gem_request.c | 178 ++++++++++++++++++++++ > 1 file changed, 178 insertions(+) > > diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_request.c b/drivers/gpu/drm/i915/selftests/i915_gem_request.c > index 19103d87a4c3..fb6f8acc1429 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_gem_request.c > +++ b/drivers/gpu/drm/i915/selftests/i915_gem_request.c > @@ -249,10 +249,188 @@ static int live_nop_request(void *arg) > > return err; > } > > +static struct i915_vma *recursive_batch(struct drm_i915_private *i915) > +{ <SNIP> > + 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. <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. Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Regards, Joonas -- Joonas Lahtinen Open Source Technology Center Intel Corporation _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx