Lines Matching refs:workload
522 struct intel_vgpu_workload *workload; member
860 u32 base = s->workload->engine->mmio_base; in is_cmd_update_pdps()
868 struct intel_vgpu_mm *shadow_mm = s->workload->shadow_mm; in cmd_pdp_mmio_update_handler()
884 &s->workload->lri_shadow_mm); in cmd_pdp_mmio_update_handler()
1024 s->workload->ring_context_gpa + 12, &ctx_sr_ctl, 4); in cmd_reg_handler()
1235 s->workload->pending_events); in cmd_handler_pipe_control()
1242 s->workload->pending_events); in cmd_handler_mi_user_interrupt()
1758 s->workload->pending_events); in cmd_handler_mi_flush_dw()
1829 s->vgpu->gtt.ggtt_mm : s->workload->shadow_mm; in find_bb_size()
1845 s->engine->name, s->workload); in find_bb_size()
1857 s->engine->name, s->workload); in find_bb_size()
1891 s->engine->name, s->workload); in audit_bb_end()
1912 s->vgpu->gtt.ggtt_mm : s->workload->shadow_mm; in perform_bb_shadow()
1974 list_add(&bb->list, &s->workload->shadow_bb); in perform_bb_shadow()
2752 s->engine->name, s->workload); in cmd_parser_exec()
2760 s->workload, info->name); in cmd_parser_exec()
2845 static int scan_workload(struct intel_vgpu_workload *workload) in scan_workload() argument
2852 if (WARN_ON(!IS_ALIGNED(workload->rb_start, I915_GTT_PAGE_SIZE))) in scan_workload()
2855 gma_head = workload->rb_start + workload->rb_head; in scan_workload()
2856 gma_tail = workload->rb_start + workload->rb_tail; in scan_workload()
2860 s.vgpu = workload->vgpu; in scan_workload()
2861 s.engine = workload->engine; in scan_workload()
2862 s.ring_start = workload->rb_start; in scan_workload()
2863 s.ring_size = _RING_CTL_BUF_SIZE(workload->rb_ctl); in scan_workload()
2866 s.rb_va = workload->shadow_ring_buffer_va; in scan_workload()
2867 s.workload = workload; in scan_workload()
2870 if (bypass_scan_mask & workload->engine->mask || gma_head == gma_tail) in scan_workload()
2877 ret = command_scan(&s, workload->rb_head, workload->rb_tail, in scan_workload()
2878 workload->rb_start, _RING_CTL_BUF_SIZE(workload->rb_ctl)); in scan_workload()
2890 struct intel_vgpu_workload *workload = container_of(wa_ctx, in scan_wa_ctx() local
2907 s.vgpu = workload->vgpu; in scan_wa_ctx()
2908 s.engine = workload->engine; in scan_wa_ctx()
2914 s.workload = workload; in scan_wa_ctx()
2927 static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload) in shadow_workload_ring_buffer() argument
2929 struct intel_vgpu *vgpu = workload->vgpu; in shadow_workload_ring_buffer()
2935 guest_rb_size = _RING_CTL_BUF_SIZE(workload->rb_ctl); in shadow_workload_ring_buffer()
2938 workload->rb_len = (workload->rb_tail + guest_rb_size - in shadow_workload_ring_buffer()
2939 workload->rb_head) % guest_rb_size; in shadow_workload_ring_buffer()
2941 gma_head = workload->rb_start + workload->rb_head; in shadow_workload_ring_buffer()
2942 gma_tail = workload->rb_start + workload->rb_tail; in shadow_workload_ring_buffer()
2943 gma_top = workload->rb_start + guest_rb_size; in shadow_workload_ring_buffer()
2945 if (workload->rb_len > s->ring_scan_buffer_size[workload->engine->id]) { in shadow_workload_ring_buffer()
2949 p = krealloc(s->ring_scan_buffer[workload->engine->id], in shadow_workload_ring_buffer()
2950 workload->rb_len, GFP_KERNEL); in shadow_workload_ring_buffer()
2955 s->ring_scan_buffer[workload->engine->id] = p; in shadow_workload_ring_buffer()
2956 s->ring_scan_buffer_size[workload->engine->id] = workload->rb_len; in shadow_workload_ring_buffer()
2959 shadow_ring_buffer_va = s->ring_scan_buffer[workload->engine->id]; in shadow_workload_ring_buffer()
2962 workload->shadow_ring_buffer_va = shadow_ring_buffer_va; in shadow_workload_ring_buffer()
2973 gma_head = workload->rb_start; in shadow_workload_ring_buffer()
2986 int intel_gvt_scan_and_shadow_ringbuffer(struct intel_vgpu_workload *workload) in intel_gvt_scan_and_shadow_ringbuffer() argument
2989 struct intel_vgpu *vgpu = workload->vgpu; in intel_gvt_scan_and_shadow_ringbuffer()
2991 ret = shadow_workload_ring_buffer(workload); in intel_gvt_scan_and_shadow_ringbuffer()
2997 ret = scan_workload(workload); in intel_gvt_scan_and_shadow_ringbuffer()
3009 struct intel_vgpu_workload *workload = container_of(wa_ctx, in shadow_indirect_ctx() local
3012 struct intel_vgpu *vgpu = workload->vgpu; in shadow_indirect_ctx()
3017 obj = i915_gem_object_create_shmem(workload->engine->i915, in shadow_indirect_ctx()
3039 ret = copy_gma_to_hva(workload->vgpu, in shadow_indirect_ctx()
3040 workload->vgpu->gtt.ggtt_mm, in shadow_indirect_ctx()
3081 struct intel_vgpu_workload *workload = container_of(wa_ctx, in intel_gvt_scan_and_shadow_wa_ctx() local
3084 struct intel_vgpu *vgpu = workload->vgpu; in intel_gvt_scan_and_shadow_wa_ctx()
3146 s.workload = NULL; in intel_gvt_update_reg_whitelist()
3166 int intel_gvt_scan_engine_context(struct intel_vgpu_workload *workload) in intel_gvt_scan_engine_context() argument
3168 struct intel_vgpu *vgpu = workload->vgpu; in intel_gvt_scan_engine_context()
3171 int ring_id = workload->engine->id; in intel_gvt_scan_engine_context()
3177 ctx_size = workload->engine->context_size - PAGE_SIZE; in intel_gvt_scan_engine_context()
3191 s.vgpu = workload->vgpu; in intel_gvt_scan_engine_context()
3192 s.engine = workload->engine; in intel_gvt_scan_engine_context()
3198 s.workload = workload; in intel_gvt_scan_engine_context()