Lines Matching refs:wa_ctx
2872 static int scan_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in scan_wa_ctx() argument
2878 struct intel_vgpu_workload *workload = container_of(wa_ctx, in scan_wa_ctx()
2880 wa_ctx); in scan_wa_ctx()
2883 if (WARN_ON(!IS_ALIGNED(wa_ctx->indirect_ctx.guest_gma, in scan_wa_ctx()
2887 ring_tail = wa_ctx->indirect_ctx.size + 3 * sizeof(u32); in scan_wa_ctx()
2888 ring_size = round_up(wa_ctx->indirect_ctx.size + CACHELINE_BYTES, in scan_wa_ctx()
2890 gma_head = wa_ctx->indirect_ctx.guest_gma; in scan_wa_ctx()
2891 gma_tail = wa_ctx->indirect_ctx.guest_gma + ring_tail; in scan_wa_ctx()
2892 gma_bottom = wa_ctx->indirect_ctx.guest_gma + ring_size; in scan_wa_ctx()
2898 s.ring_start = wa_ctx->indirect_ctx.guest_gma; in scan_wa_ctx()
2902 s.rb_va = wa_ctx->indirect_ctx.shadow_va; in scan_wa_ctx()
2911 wa_ctx->indirect_ctx.guest_gma, ring_size); in scan_wa_ctx()
2994 static int shadow_indirect_ctx(struct intel_shadow_wa_ctx *wa_ctx) in shadow_indirect_ctx() argument
2996 int ctx_size = wa_ctx->indirect_ctx.size; in shadow_indirect_ctx()
2997 unsigned long guest_gma = wa_ctx->indirect_ctx.guest_gma; in shadow_indirect_ctx()
2998 struct intel_vgpu_workload *workload = container_of(wa_ctx, in shadow_indirect_ctx()
3000 wa_ctx); in shadow_indirect_ctx()
3037 wa_ctx->indirect_ctx.obj = obj; in shadow_indirect_ctx()
3038 wa_ctx->indirect_ctx.shadow_va = map; in shadow_indirect_ctx()
3048 static int combine_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in combine_wa_ctx() argument
3053 if (!wa_ctx->per_ctx.valid) in combine_wa_ctx()
3057 per_ctx_start[1] = wa_ctx->per_ctx.guest_gma; in combine_wa_ctx()
3059 bb_start_sva = (unsigned char *)wa_ctx->indirect_ctx.shadow_va + in combine_wa_ctx()
3060 wa_ctx->indirect_ctx.size; in combine_wa_ctx()
3067 int intel_gvt_scan_and_shadow_wa_ctx(struct intel_shadow_wa_ctx *wa_ctx) in intel_gvt_scan_and_shadow_wa_ctx() argument
3070 struct intel_vgpu_workload *workload = container_of(wa_ctx, in intel_gvt_scan_and_shadow_wa_ctx()
3072 wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
3075 if (wa_ctx->indirect_ctx.size == 0) in intel_gvt_scan_and_shadow_wa_ctx()
3078 ret = shadow_indirect_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
3084 combine_wa_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()
3086 ret = scan_wa_ctx(wa_ctx); in intel_gvt_scan_and_shadow_wa_ctx()