Lines Matching refs:ring_id
59 int ring_id = workload->ring_id; in populate_shadow_context() local
62 shadow_ctx->engine[ring_id].state->obj; in populate_shadow_context()
69 gvt_dbg_sched("ring id %d workload lrca %x", ring_id, in populate_shadow_context()
72 context_page_num = gvt->dev_priv->engine[ring_id]->context_size; in populate_shadow_context()
76 if (IS_BROADWELL(gvt->dev_priv) && ring_id == RCS) in populate_shadow_context()
108 if (ring_id == RCS) { in populate_shadow_context()
141 enum intel_engine_id ring_id = req->engine->id; in shadow_context_status_change() local
147 scheduler->engine_owner[ring_id]) { in shadow_context_status_change()
149 intel_gvt_switch_mmio(scheduler->engine_owner[ring_id], in shadow_context_status_change()
150 NULL, ring_id); in shadow_context_status_change()
151 scheduler->engine_owner[ring_id] = NULL; in shadow_context_status_change()
158 workload = scheduler->current_workload[ring_id]; in shadow_context_status_change()
165 if (workload->vgpu != scheduler->engine_owner[ring_id]) { in shadow_context_status_change()
167 intel_gvt_switch_mmio(scheduler->engine_owner[ring_id], in shadow_context_status_change()
168 workload->vgpu, ring_id); in shadow_context_status_change()
169 scheduler->engine_owner[ring_id] = workload->vgpu; in shadow_context_status_change()
172 ring_id, workload->vgpu->id); in shadow_context_status_change()
214 int ring_id = workload->ring_id; in intel_gvt_scan_and_shadow_workload() local
230 if (!test_and_set_bit(ring_id, vgpu->shadow_ctx_desc_updated)) in intel_gvt_scan_and_shadow_workload()
232 dev_priv->engine[ring_id]); in intel_gvt_scan_and_shadow_workload()
234 rq = i915_gem_request_alloc(dev_priv->engine[ring_id], shadow_ctx); in intel_gvt_scan_and_shadow_workload()
241 gvt_dbg_sched("ring id %d get i915 gem request %p\n", ring_id, rq); in intel_gvt_scan_and_shadow_workload()
249 if ((workload->ring_id == RCS) && in intel_gvt_scan_and_shadow_workload()
268 int ring_id = workload->ring_id; in dispatch_workload() local
271 struct intel_engine_cs *engine = dev_priv->engine[ring_id]; in dispatch_workload()
277 ring_id, workload); in dispatch_workload()
311 ring_id, workload->req); in dispatch_workload()
321 struct intel_gvt *gvt, int ring_id) in pick_next_workload() argument
333 gvt_dbg_sched("ring id %d stop - no current vgpu\n", ring_id); in pick_next_workload()
338 gvt_dbg_sched("ring id %d stop - will reschedule\n", ring_id); in pick_next_workload()
342 if (list_empty(workload_q_head(scheduler->current_vgpu, ring_id))) in pick_next_workload()
349 if (scheduler->current_workload[ring_id]) { in pick_next_workload()
350 workload = scheduler->current_workload[ring_id]; in pick_next_workload()
352 ring_id, workload); in pick_next_workload()
362 scheduler->current_workload[ring_id] = container_of( in pick_next_workload()
363 workload_q_head(scheduler->current_vgpu, ring_id)->next, in pick_next_workload()
366 workload = scheduler->current_workload[ring_id]; in pick_next_workload()
368 gvt_dbg_sched("ring id %d pick new workload %p\n", ring_id, workload); in pick_next_workload()
380 int ring_id = workload->ring_id; in update_guest_context() local
383 shadow_ctx->engine[ring_id].state->obj; in update_guest_context()
390 gvt_dbg_sched("ring id %d workload lrca %x\n", ring_id, in update_guest_context()
393 context_page_num = gvt->dev_priv->engine[ring_id]->context_size; in update_guest_context()
397 if (IS_BROADWELL(gvt->dev_priv) && ring_id == RCS) in update_guest_context()
444 static void complete_current_workload(struct intel_gvt *gvt, int ring_id) in complete_current_workload() argument
453 workload = scheduler->current_workload[ring_id]; in complete_current_workload()
464 dev_priv->engine[workload->ring_id]; in complete_current_workload()
483 ENGINE_MASK(ring_id))) { in complete_current_workload()
497 ring_id, workload, workload->status); in complete_current_workload()
499 scheduler->current_workload[ring_id] = NULL; in complete_current_workload()
515 int ring_id; member
522 int ring_id = p->ring_id; in workload_thread() local
533 gvt_dbg_core("workload thread for ring %d started\n", ring_id); in workload_thread()
536 add_wait_queue(&scheduler->waitq[ring_id], &wait); in workload_thread()
538 workload = pick_next_workload(gvt, ring_id); in workload_thread()
544 remove_wait_queue(&scheduler->waitq[ring_id], &wait); in workload_thread()
550 workload->ring_id, workload, in workload_thread()
556 workload->ring_id, workload); in workload_thread()
573 workload->ring_id, workload); in workload_thread()
580 complete_current_workload(gvt, ring_id); in workload_thread()
642 param->ring_id = i; in intel_gvt_init_workload_scheduler()