Lines Matching refs:wa_ctx
2664 static int scan_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in scan_wa_ctx() argument
2670 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()
2694 s.rb_va = wa_ctx->indirect_ctx.shadow_va; in scan_wa_ctx()
2708 wa_ctx->indirect_ctx.guest_gma, ring_size); in scan_wa_ctx()
2792 static int shadow_indirect_ctx(struct intel_shadow_wa_ctx *wa_ctx) in shadow_indirect_ctx() argument
2794 int ctx_size = wa_ctx->indirect_ctx.size; in shadow_indirect_ctx()
2795 unsigned long guest_gma = wa_ctx->indirect_ctx.guest_gma; in shadow_indirect_ctx()
2796 struct intel_vgpu_workload *workload = container_of(wa_ctx, in shadow_indirect_ctx()
2798 wa_ctx); in shadow_indirect_ctx()
2833 wa_ctx->indirect_ctx.obj = obj; in shadow_indirect_ctx()
2834 wa_ctx->indirect_ctx.shadow_va = map; in shadow_indirect_ctx()
2844 static int combine_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in combine_wa_ctx() argument
2849 if (!wa_ctx->per_ctx.valid) in combine_wa_ctx()
2853 per_ctx_start[1] = wa_ctx->per_ctx.guest_gma; in combine_wa_ctx()
2855 bb_start_sva = (unsigned char *)wa_ctx->indirect_ctx.shadow_va + in combine_wa_ctx()
2856 wa_ctx->indirect_ctx.size; in combine_wa_ctx()
2863 int intel_gvt_scan_and_shadow_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in intel_gvt_scan_and_shadow_wa_ctx() argument
2866 struct intel_vgpu_workload *workload = container_of(wa_ctx, in intel_gvt_scan_and_shadow_wa_ctx()
2868 wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
2871 if (wa_ctx->indirect_ctx.size == 0) in intel_gvt_scan_and_shadow_wa_ctx()
2874 ret = shadow_indirect_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
2880 combine_wa_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
2882 ret = scan_wa_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()