Lines Matching refs:wa_ctx
2870 static int scan_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in scan_wa_ctx() argument
2876 struct intel_vgpu_workload *workload = container_of(wa_ctx, in scan_wa_ctx()
2878 wa_ctx); in scan_wa_ctx()
2881 if (WARN_ON(!IS_ALIGNED(wa_ctx->indirect_ctx.guest_gma, in scan_wa_ctx()
2885 ring_tail = wa_ctx->indirect_ctx.size + 3 * sizeof(u32); in scan_wa_ctx()
2886 ring_size = round_up(wa_ctx->indirect_ctx.size + CACHELINE_BYTES, in scan_wa_ctx()
2888 gma_head = wa_ctx->indirect_ctx.guest_gma; in scan_wa_ctx()
2889 gma_tail = wa_ctx->indirect_ctx.guest_gma + ring_tail; in scan_wa_ctx()
2890 gma_bottom = wa_ctx->indirect_ctx.guest_gma + ring_size; in scan_wa_ctx()
2896 s.ring_start = wa_ctx->indirect_ctx.guest_gma; in scan_wa_ctx()
2900 s.rb_va = wa_ctx->indirect_ctx.shadow_va; in scan_wa_ctx()
2909 wa_ctx->indirect_ctx.guest_gma, ring_size); in scan_wa_ctx()
2992 static int shadow_indirect_ctx(struct intel_shadow_wa_ctx *wa_ctx) in shadow_indirect_ctx() argument
2994 int ctx_size = wa_ctx->indirect_ctx.size; in shadow_indirect_ctx()
2995 unsigned long guest_gma = wa_ctx->indirect_ctx.guest_gma; in shadow_indirect_ctx()
2996 struct intel_vgpu_workload *workload = container_of(wa_ctx, in shadow_indirect_ctx()
2998 wa_ctx); in shadow_indirect_ctx()
3035 wa_ctx->indirect_ctx.obj = obj; in shadow_indirect_ctx()
3036 wa_ctx->indirect_ctx.shadow_va = map; in shadow_indirect_ctx()
3046 static int combine_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in combine_wa_ctx() argument
3051 if (!wa_ctx->per_ctx.valid) in combine_wa_ctx()
3055 per_ctx_start[1] = wa_ctx->per_ctx.guest_gma; in combine_wa_ctx()
3057 bb_start_sva = (unsigned char *)wa_ctx->indirect_ctx.shadow_va + in combine_wa_ctx()
3058 wa_ctx->indirect_ctx.size; in combine_wa_ctx()
3065 int intel_gvt_scan_and_shadow_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in intel_gvt_scan_and_shadow_wa_ctx() argument
3068 struct intel_vgpu_workload *workload = container_of(wa_ctx, in intel_gvt_scan_and_shadow_wa_ctx()
3070 wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
3073 if (wa_ctx->indirect_ctx.size == 0) in intel_gvt_scan_and_shadow_wa_ctx()
3076 ret = shadow_indirect_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
3082 combine_wa_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
3084 ret = scan_wa_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()