Lines Matching full:engine
76 struct intel_engine_cs *engine = ce->engine; in __measure_timestamps() local
77 u32 *sema = memset32(engine->status_page.addr + 1000, 0, 5); in __measure_timestamps()
78 u32 offset = i915_ggtt_offset(engine->status_page.vma); in __measure_timestamps()
96 cs = emit_srm(cs, RING_TIMESTAMP(engine->mmio_base), offset + 4000); in __measure_timestamps()
97 cs = emit_srm(cs, RING_CTX_TIMESTAMP(engine->mmio_base), offset + 4004); in __measure_timestamps()
102 cs = emit_srm(cs, RING_TIMESTAMP(engine->mmio_base), offset + 4016); in __measure_timestamps()
103 cs = emit_srm(cs, RING_CTX_TIMESTAMP(engine->mmio_base), offset + 4012); in __measure_timestamps()
108 intel_engine_flush_submission(engine); in __measure_timestamps()
132 engine->name, sema[1], sema[3], sema[0], sema[4]); in __measure_timestamps()
139 static int __live_engine_timestamps(struct intel_engine_cs *engine) in __live_engine_timestamps() argument
145 ce = intel_context_create(engine); in __live_engine_timestamps()
163 engine->name, dt, in __live_engine_timestamps()
164 intel_gt_clock_interval_to_ns(engine->gt, d_ctx), in __live_engine_timestamps()
165 intel_gt_clock_interval_to_ns(engine->gt, d_ring)); in __live_engine_timestamps()
167 d_ring = intel_gt_clock_interval_to_ns(engine->gt, d_ring); in __live_engine_timestamps()
170 engine->name); in __live_engine_timestamps()
177 d_ctx *= engine->gt->clock_frequency; in __live_engine_timestamps()
178 if (GRAPHICS_VER(engine->i915) == 11) in __live_engine_timestamps()
181 d_ring *= engine->gt->clock_frequency; in __live_engine_timestamps()
185 engine->name); in __live_engine_timestamps()
195 struct intel_engine_cs *engine; in live_engine_timestamps() local
206 for_each_engine(engine, gt, id) { in live_engine_timestamps()
209 st_engine_heartbeat_disable(engine); in live_engine_timestamps()
210 err = __live_engine_timestamps(engine); in live_engine_timestamps()
211 st_engine_heartbeat_enable(engine); in live_engine_timestamps()
219 static int __spin_until_busier(struct intel_engine_cs *engine, ktime_t busyness) in __spin_until_busier() argument
223 if (!intel_engine_uses_guc(engine)) in __spin_until_busier()
232 while (intel_engine_get_busy_time(engine, &unused) == busyness) { in __spin_until_busier()
236 ENGINE_TRACE(engine, "active wait time out %lld\n", dt); in __spin_until_busier()
247 struct intel_engine_cs *engine; in live_engine_busy_stats() local
253 * Check that if an engine supports busy-stats, they tell the truth. in live_engine_busy_stats()
260 for_each_engine(engine, gt, id) { in live_engine_busy_stats()
266 if (!intel_engine_supports_stats(engine)) in live_engine_busy_stats()
269 if (!intel_engine_can_store_dword(engine)) in live_engine_busy_stats()
277 st_engine_heartbeat_disable(engine); in live_engine_busy_stats()
279 ENGINE_TRACE(engine, "measuring idle time\n"); in live_engine_busy_stats()
281 de = intel_engine_get_busy_time(engine, &t[0]); in live_engine_busy_stats()
283 de = ktime_sub(intel_engine_get_busy_time(engine, &t[1]), de); in live_engine_busy_stats()
288 engine->name, in live_engine_busy_stats()
297 engine->kernel_context, in live_engine_busy_stats()
305 busyness = intel_engine_get_busy_time(engine, &dummy); in live_engine_busy_stats()
307 intel_gt_set_wedged(engine->gt); in live_engine_busy_stats()
312 err = __spin_until_busier(engine, busyness); in live_engine_busy_stats()
318 ENGINE_TRACE(engine, "measuring busy time\n"); in live_engine_busy_stats()
320 de = intel_engine_get_busy_time(engine, &t[0]); in live_engine_busy_stats()
322 de = ktime_sub(intel_engine_get_busy_time(engine, &t[1]), de); in live_engine_busy_stats()
327 engine->name, in live_engine_busy_stats()
335 st_engine_heartbeat_enable(engine); in live_engine_busy_stats()
352 struct intel_engine_cs *engine; in live_engine_pm() local
366 for_each_engine(engine, gt, id) { in live_engine_pm()
372 * know that the engine is already awake, in which in live_engine_pm()
384 GEM_BUG_ON(intel_engine_pm_is_awake(engine)); in live_engine_pm()
385 intel_engine_pm_get(engine); in live_engine_pm()
388 if (!intel_engine_pm_get_if_awake(engine)) in live_engine_pm()
390 engine->name, p->name); in live_engine_pm()
392 intel_engine_pm_put_async(engine); in live_engine_pm()
393 intel_engine_pm_put_async(engine); in live_engine_pm()
396 intel_engine_pm_flush(engine); in live_engine_pm()
398 if (intel_engine_pm_is_awake(engine)) { in live_engine_pm()
400 engine->name); in live_engine_pm()