Lines Matching refs:wa_ctx
783 const struct i915_ctx_workarounds * const wa_ctx = &engine->wa_ctx; in init_wa_bb_regs() local
785 if (wa_ctx->per_ctx.size) { in init_wa_bb_regs()
786 const u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma); in init_wa_bb_regs()
790 (ggtt_offset + wa_ctx->per_ctx.offset) | 0x01; in init_wa_bb_regs()
793 if (wa_ctx->indirect_ctx.size) { in init_wa_bb_regs()
795 i915_ggtt_offset(wa_ctx->vma) + in init_wa_bb_regs()
796 wa_ctx->indirect_ctx.offset, in init_wa_bb_regs()
797 wa_ctx->indirect_ctx.size); in init_wa_bb_regs()
1300 GEM_BUG_ON(engine->wa_ctx.indirect_ctx.size); in lrc_update_regs()
1554 engine->wa_ctx.vma = vma; in lrc_create_wa_ctx()
1564 i915_vma_unpin_and_release(&engine->wa_ctx.vma, 0); in lrc_fini_wa_ctx()
1571 struct i915_ctx_workarounds *wa_ctx = &engine->wa_ctx; in lrc_init_wa_ctx() local
1573 &wa_ctx->indirect_ctx, &wa_ctx->per_ctx in lrc_init_wa_ctx()
1614 if (!engine->wa_ctx.vma) in lrc_init_wa_ctx()
1619 err = i915_gem_object_lock(wa_ctx->vma->obj, &ww); in lrc_init_wa_ctx()
1621 err = i915_ggtt_pin(wa_ctx->vma, &ww, 0, PIN_HIGH); in lrc_init_wa_ctx()
1625 batch = i915_gem_object_pin_map(wa_ctx->vma->obj, I915_MAP_WB); in lrc_init_wa_ctx()
1650 __i915_gem_object_flush_map(wa_ctx->vma->obj, 0, batch_ptr - batch); in lrc_init_wa_ctx()
1651 __i915_gem_object_release_map(wa_ctx->vma->obj); in lrc_init_wa_ctx()
1659 i915_vma_unpin(wa_ctx->vma); in lrc_init_wa_ctx()
1669 i915_vma_put(engine->wa_ctx.vma); in lrc_init_wa_ctx()
1672 memset(wa_ctx, 0, sizeof(*wa_ctx)); in lrc_init_wa_ctx()