Lines Matching defs:gvt

44 #include "gvt.h"
83 struct drm_i915_private *dev_priv = workload->vgpu->gvt->gt->i915;
126 struct intel_gvt *gvt = vgpu->gvt;
205 if (IS_BROADWELL(gvt->gt->i915) && workload->engine->id == RCS0)
272 struct intel_gvt *gvt = container_of(nb, struct intel_gvt,
274 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
361 * requests from gvt always set the has_init_breadcrumb flag, here
504 struct intel_gvt *gvt = workload->vgpu->gvt;
505 const int gmadr_bytes = gvt->device_info.gmadr_bytes_in_cmd;
800 pick_next_workload(struct intel_gvt *gvt, struct intel_engine_cs *engine)
802 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
805 mutex_lock(&gvt->sched_lock);
853 mutex_unlock(&gvt->sched_lock);
1003 struct drm_i915_private *dev_priv = vgpu->gvt->gt->i915;
1019 static void complete_current_workload(struct intel_gvt *gvt, int ring_id)
1021 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
1030 mutex_lock(&gvt->sched_lock);
1096 if (gvt->scheduler.need_reschedule)
1097 intel_gvt_request_service(gvt, INTEL_GVT_REQUEST_EVENT_SCHED);
1099 mutex_unlock(&gvt->sched_lock);
1107 struct intel_gvt *gvt = engine->i915->gvt;
1108 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
1121 workload = pick_next_workload(gvt, engine);
1168 complete_current_workload(gvt, engine->id);
1184 struct intel_gvt *gvt = vgpu->gvt;
1185 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
1195 void intel_gvt_clean_workload_scheduler(struct intel_gvt *gvt)
1197 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
1203 for_each_engine(engine, gvt->gt, i) {
1206 &gvt->shadow_ctx_notifier_block[i]);
1211 int intel_gvt_init_workload_scheduler(struct intel_gvt *gvt)
1213 struct intel_gvt_workload_scheduler *scheduler = &gvt->scheduler;
1222 for_each_engine(engine, gvt->gt, i) {
1226 "gvt:%s", engine->name);
1233 gvt->shadow_ctx_notifier_block[i].notifier_call =
1236 &gvt->shadow_ctx_notifier_block[i]);
1242 intel_gvt_clean_workload_scheduler(gvt);
1280 for_each_engine(engine, vgpu->gvt->gt, id)
1337 struct drm_i915_private *i915 = vgpu->gvt->gt->i915;
1350 for_each_engine(engine, vgpu->gvt->gt, i) {
1378 s->workloads = kmem_cache_create_usercopy("gvt-g_vgpu_workload",
1400 for_each_engine(engine, vgpu->gvt->gt, i) {
1426 struct drm_i915_private *i915 = vgpu->gvt->gt->i915;
1740 intel_gvt_kick_schedule(workload->vgpu->gvt);
1741 wake_up(&workload->vgpu->gvt->scheduler.waitq[workload->engine->id]);