Searched refs:wa_ctx (Results 1 – 8 of 8) sorted by relevance
326 static void release_shadow_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in release_shadow_wa_ctx() argument328 if (!wa_ctx->indirect_ctx.obj) in release_shadow_wa_ctx()331 i915_gem_object_unpin_map(wa_ctx->indirect_ctx.obj); in release_shadow_wa_ctx()332 i915_gem_object_put(wa_ctx->indirect_ctx.obj); in release_shadow_wa_ctx()384 (workload->wa_ctx.indirect_ctx.size != 0)) { in intel_gvt_scan_and_shadow_workload()385 ret = intel_gvt_scan_and_shadow_wa_ctx(&workload->wa_ctx); in intel_gvt_scan_and_shadow_workload()407 release_shadow_wa_ctx(&workload->wa_ctx); in intel_gvt_scan_and_shadow_workload()492 static void update_wa_ctx_2_shadow_ctx(struct intel_shadow_wa_ctx *wa_ctx) in update_wa_ctx_2_shadow_ctx() argument495 container_of(wa_ctx, struct intel_vgpu_workload, wa_ctx); in update_wa_ctx_2_shadow_ctx()502 (~PER_CTX_ADDR_MASK)) | wa_ctx->per_ctx.shadow_gma; in update_wa_ctx_2_shadow_ctx()[all …]
2664 static int scan_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in scan_wa_ctx() argument2670 struct intel_vgpu_workload *workload = container_of(wa_ctx, in scan_wa_ctx()2672 wa_ctx); in scan_wa_ctx()2675 if (WARN_ON(!IS_ALIGNED(wa_ctx->indirect_ctx.guest_gma, in scan_wa_ctx()2679 ring_tail = wa_ctx->indirect_ctx.size + 3 * sizeof(uint32_t); in scan_wa_ctx()2680 ring_size = round_up(wa_ctx->indirect_ctx.size + CACHELINE_BYTES, in scan_wa_ctx()2682 gma_head = wa_ctx->indirect_ctx.guest_gma; in scan_wa_ctx()2683 gma_tail = wa_ctx->indirect_ctx.guest_gma + ring_tail; in scan_wa_ctx()2684 gma_bottom = wa_ctx->indirect_ctx.guest_gma + ring_size; in scan_wa_ctx()2690 s.ring_start = wa_ctx->indirect_ctx.guest_gma; in scan_wa_ctx()[all …]
47 int intel_gvt_scan_and_shadow_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx);
111 struct intel_shadow_wa_ctx wa_ctx; member
1650 engine->wa_ctx.vma = vma; in lrc_setup_wa_ctx()1660 i915_vma_unpin_and_release(&engine->wa_ctx.vma); in lrc_destroy_wa_ctx()1667 struct i915_ctx_workarounds *wa_ctx = &engine->wa_ctx; in intel_init_workaround_bb() local1668 struct i915_wa_ctx_bb *wa_bb[2] = { &wa_ctx->indirect_ctx, in intel_init_workaround_bb()1669 &wa_ctx->per_ctx }; in intel_init_workaround_bb()1705 page = i915_gem_object_get_dirty_page(wa_ctx->vma->obj, 0); in intel_init_workaround_bb()2604 struct i915_ctx_workarounds *wa_ctx = &engine->wa_ctx; in execlists_init_reg_state() local2609 if (wa_ctx->indirect_ctx.size) { in execlists_init_reg_state()2610 u32 ggtt_offset = i915_ggtt_offset(wa_ctx->vma); in execlists_init_reg_state()2613 (ggtt_offset + wa_ctx->indirect_ctx.offset) | in execlists_init_reg_state()[all …]
147 struct drm_i915_error_object *wa_ctx; member
817 "WA context", ee->wa_ctx); in i915_error_state_to_str()927 i915_error_object_free(ee->wa_ctx); in __i915_gpu_state_free()1516 ee->wa_ctx = i915_error_object_create(i915, engine->wa_ctx.vma); in gem_record_rings()
440 struct i915_ctx_workarounds wa_ctx; member