Lines Matching full:engine

26 		int type = i915_coherent_map_type(ce->engine->i915, obj, true);  in dbg_poison_ce()
44 struct intel_engine_cs *engine = in __engine_unpark() local
45 container_of(wf, typeof(*engine), wakeref); in __engine_unpark()
48 ENGINE_TRACE(engine, "\n"); in __engine_unpark()
50 intel_gt_pm_get(engine->gt); in __engine_unpark()
53 ce = engine->kernel_context; in __engine_unpark()
59 intel_engine_flush_submission(engine); in __engine_unpark()
75 if (engine->unpark) in __engine_unpark()
76 engine->unpark(engine); in __engine_unpark()
78 intel_breadcrumbs_unpark(engine->breadcrumbs); in __engine_unpark()
79 intel_engine_unpark_heartbeat(engine); in __engine_unpark()
87 ewma__engine_latency_add(&rq->engine->latency, in duration()
95 struct intel_engine_cs *engine) in __queue_and_release_pm() argument
97 struct intel_gt_timelines *timelines = &engine->gt->timelines; in __queue_and_release_pm()
99 ENGINE_TRACE(engine, "parking\n"); in __queue_and_release_pm()
104 * engine->wakeref.counter or our timeline->active_count. in __queue_and_release_pm()
120 __intel_wakeref_defer_park(&engine->wakeref); in __queue_and_release_pm()
125 static bool switch_to_kernel_context(struct intel_engine_cs *engine) in switch_to_kernel_context() argument
127 struct intel_context *ce = engine->kernel_context; in switch_to_kernel_context()
141 if (intel_engine_uses_guc(engine)) in switch_to_kernel_context()
145 if (intel_gt_is_wedged(engine->gt)) in switch_to_kernel_context()
149 GEM_BUG_ON(ce->timeline->hwsp_ggtt != engine->status_page.vma); in switch_to_kernel_context()
152 if (engine->wakeref_serial == engine->serial) in switch_to_kernel_context()
160 * else from creating a request on this engine. This also requires in switch_to_kernel_context()
163 * This should hold true as we can only park the engine after in switch_to_kernel_context()
170 * A new gpu user will be waiting on the engine-pm to start their in switch_to_kernel_context()
171 * engine_unpark. New waiters are predicated on engine->wakeref.count in switch_to_kernel_context()
173 * engine->wakeref. in switch_to_kernel_context()
180 * engine->wakeref.count, we may see the request completion and retire in switch_to_kernel_context()
181 * it causing an underflow of the engine->wakeref. in switch_to_kernel_context()
192 engine->wakeref_serial = engine->serial + 1; in switch_to_kernel_context()
197 if (likely(!__i915_request_commit(rq))) { /* engine should be idle! */ in switch_to_kernel_context()
211 __queue_and_release_pm(rq, ce->timeline, engine); in switch_to_kernel_context()
219 static void call_idle_barriers(struct intel_engine_cs *engine) in call_idle_barriers() argument
223 llist_for_each_safe(node, next, llist_del_all(&engine->barrier_tasks)) { in call_idle_barriers()
234 struct intel_engine_cs *engine = in __engine_park() local
235 container_of(wf, typeof(*engine), wakeref); in __engine_park()
237 engine->saturated = 0; in __engine_park()
246 if (!switch_to_kernel_context(engine)) in __engine_park()
249 ENGINE_TRACE(engine, "parked\n"); in __engine_park()
251 call_idle_barriers(engine); /* cleanup after wedging */ in __engine_park()
253 intel_engine_park_heartbeat(engine); in __engine_park()
254 intel_breadcrumbs_park(engine->breadcrumbs); in __engine_park()
257 GEM_BUG_ON(engine->sched_engine->queue_priority_hint != INT_MIN); in __engine_park()
259 if (engine->park) in __engine_park()
260 engine->park(engine); in __engine_park()
263 intel_gt_pm_put_async(engine->gt); in __engine_park()
272 void intel_engine_init__pm(struct intel_engine_cs *engine) in intel_engine_init__pm() argument
274 struct intel_runtime_pm *rpm = engine->uncore->rpm; in intel_engine_init__pm()
276 intel_wakeref_init(&engine->wakeref, rpm, &wf_ops); in intel_engine_init__pm()
277 intel_engine_init_heartbeat(engine); in intel_engine_init__pm()
282 * an engine.
283 * @engine: The engine whose pinned contexts we want to reset.
288 void intel_engine_reset_pinned_contexts(struct intel_engine_cs *engine) in intel_engine_reset_pinned_contexts() argument
292 list_for_each_entry(ce, &engine->pinned_contexts_list, in intel_engine_reset_pinned_contexts()
295 if (ce == engine->kernel_context) in intel_engine_reset_pinned_contexts()