Quoting Tvrtko Ursulin (2019-05-20 11:18:15) > @@ -1352,11 +1357,11 @@ static int engine_wa_list_verify(struct intel_engine_cs *engine, > if (!wal->count) > return 0; > > - vma = create_scratch(&engine->i915->ggtt.vm, wal->count); > + vma = create_scratch(&ce->gem_context->i915->ggtt.vm, wal->count); Use ce->engine->i915->ggtt.vm to save me a headache later. > if (IS_ERR(vma)) > return PTR_ERR(vma); > > - rq = i915_request_create(engine->kernel_context); > + rq = intel_context_create_request(ce); > if (IS_ERR(rq)) { > err = PTR_ERR(rq); > goto err_vma; > @@ -1003,28 +1010,36 @@ static int live_isolated_whitelist(void *arg) > return err; > } > > -static bool verify_gt_engine_wa(struct drm_i915_private *i915, > - struct wa_lists *lists, const char *str) > +static bool > +verify_wa_lists(struct i915_gem_context *ctx, struct wa_lists *lists, > + const char *str) > { > - struct intel_engine_cs *engine; > - enum intel_engine_id id; > + struct drm_i915_private *i915 = ctx->i915; > + struct i915_gem_engines_iter it; > + struct intel_context *ce; > bool ok = true; > > ok &= wa_list_verify(&i915->uncore, &lists->gt_wa_list, str); > > - for_each_engine(engine, i915, id) { > - ok &= engine_wa_list_verify(engine, > - &lists->engine[id].wa_list, > + for_each_gem_engine(ce, i915_gem_context_lock_engines(ctx), it) { And for my piece of mind, GEM_BUG_ON(it.idx != ce->engine->id) as I already forgot the relationship for the default engine map. > + ok &= engine_wa_list_verify(ce, > + &lists->engine[it.idx].wa_list, > + str) == 0; > + > + ok &= engine_wa_list_verify(ce, > + &lists->engine[it.idx].ctx_wa_list, > str) == 0; > } Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx