Lines Matching refs:workload
479 struct intel_vgpu_workload *workload; member
908 s->workload->ring_context_gpa + 12, &ctx_sr_ctl, 4); in cmd_reg_handler()
1115 s->workload->pending_events); in cmd_handler_pipe_control()
1122 s->workload->pending_events); in cmd_handler_mi_user_interrupt()
1589 s->workload->pending_events); in cmd_handler_mi_flush_dw()
1652 s->vgpu->gtt.ggtt_mm : s->workload->shadow_mm; in find_bb_size()
1667 "ppgtt" : "ggtt", s->ring_id, s->workload); in find_bb_size()
1679 "ppgtt" : "ggtt", s->ring_id, s->workload); in find_bb_size()
1706 s->vgpu->gtt.ggtt_mm : s->workload->shadow_mm; in perform_bb_shadow()
1770 list_add(&bb->list, &s->workload->shadow_bb); in perform_bb_shadow()
2533 "ppgtt" : "ggtt", s->ring_id, s->workload); in cmd_parser_exec()
2541 s->workload, info->name); in cmd_parser_exec()
2618 static int scan_workload(struct intel_vgpu_workload *workload) in scan_workload() argument
2625 if (WARN_ON(!IS_ALIGNED(workload->rb_start, I915_GTT_PAGE_SIZE))) in scan_workload()
2628 gma_head = workload->rb_start + workload->rb_head; in scan_workload()
2629 gma_tail = workload->rb_start + workload->rb_tail; in scan_workload()
2630 gma_bottom = workload->rb_start + _RING_CTL_BUF_SIZE(workload->rb_ctl); in scan_workload()
2634 s.vgpu = workload->vgpu; in scan_workload()
2635 s.ring_id = workload->ring_id; in scan_workload()
2636 s.ring_start = workload->rb_start; in scan_workload()
2637 s.ring_size = _RING_CTL_BUF_SIZE(workload->rb_ctl); in scan_workload()
2640 s.rb_va = workload->shadow_ring_buffer_va; in scan_workload()
2641 s.workload = workload; in scan_workload()
2644 if ((bypass_scan_mask & (1 << workload->ring_id)) || in scan_workload()
2657 ret = command_scan(&s, workload->rb_head, workload->rb_tail, in scan_workload()
2658 workload->rb_start, _RING_CTL_BUF_SIZE(workload->rb_ctl)); in scan_workload()
2670 struct intel_vgpu_workload *workload = container_of(wa_ctx, in scan_wa_ctx() local
2688 s.vgpu = workload->vgpu; in scan_wa_ctx()
2689 s.ring_id = workload->ring_id; in scan_wa_ctx()
2695 s.workload = workload; in scan_wa_ctx()
2713 static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload) in shadow_workload_ring_buffer() argument
2715 struct intel_vgpu *vgpu = workload->vgpu; in shadow_workload_ring_buffer()
2719 int ring_id = workload->ring_id; in shadow_workload_ring_buffer()
2722 guest_rb_size = _RING_CTL_BUF_SIZE(workload->rb_ctl); in shadow_workload_ring_buffer()
2725 workload->rb_len = (workload->rb_tail + guest_rb_size - in shadow_workload_ring_buffer()
2726 workload->rb_head) % guest_rb_size; in shadow_workload_ring_buffer()
2728 gma_head = workload->rb_start + workload->rb_head; in shadow_workload_ring_buffer()
2729 gma_tail = workload->rb_start + workload->rb_tail; in shadow_workload_ring_buffer()
2730 gma_top = workload->rb_start + guest_rb_size; in shadow_workload_ring_buffer()
2732 if (workload->rb_len > s->ring_scan_buffer_size[ring_id]) { in shadow_workload_ring_buffer()
2736 p = krealloc(s->ring_scan_buffer[ring_id], workload->rb_len, in shadow_workload_ring_buffer()
2743 s->ring_scan_buffer_size[ring_id] = workload->rb_len; in shadow_workload_ring_buffer()
2749 workload->shadow_ring_buffer_va = shadow_ring_buffer_va; in shadow_workload_ring_buffer()
2760 gma_head = workload->rb_start; in shadow_workload_ring_buffer()
2773 int intel_gvt_scan_and_shadow_ringbuffer(struct intel_vgpu_workload *workload) in intel_gvt_scan_and_shadow_ringbuffer() argument
2776 struct intel_vgpu *vgpu = workload->vgpu; in intel_gvt_scan_and_shadow_ringbuffer()
2778 ret = shadow_workload_ring_buffer(workload); in intel_gvt_scan_and_shadow_ringbuffer()
2784 ret = scan_workload(workload); in intel_gvt_scan_and_shadow_ringbuffer()
2796 struct intel_vgpu_workload *workload = container_of(wa_ctx, in shadow_indirect_ctx() local
2799 struct intel_vgpu *vgpu = workload->vgpu; in shadow_indirect_ctx()
2804 obj = i915_gem_object_create(workload->vgpu->gvt->dev_priv, in shadow_indirect_ctx()
2824 ret = copy_gma_to_hva(workload->vgpu, in shadow_indirect_ctx()
2825 workload->vgpu->gtt.ggtt_mm, in shadow_indirect_ctx()
2866 struct intel_vgpu_workload *workload = container_of(wa_ctx, in intel_gvt_scan_and_shadow_wa_ctx() local
2869 struct intel_vgpu *vgpu = workload->vgpu; in intel_gvt_scan_and_shadow_wa_ctx()