Lines Matching full:engine
75 struct intel_engine_cs *engine = ce->engine; in __measure_timestamps() local
76 u32 *sema = memset32(engine->status_page.addr + 1000, 0, 5); in __measure_timestamps()
77 u32 offset = i915_ggtt_offset(engine->status_page.vma); in __measure_timestamps()
95 cs = emit_srm(cs, RING_TIMESTAMP(engine->mmio_base), offset + 4000); in __measure_timestamps()
96 cs = emit_srm(cs, RING_CTX_TIMESTAMP(engine->mmio_base), offset + 4004); in __measure_timestamps()
101 cs = emit_srm(cs, RING_TIMESTAMP(engine->mmio_base), offset + 4016); in __measure_timestamps()
102 cs = emit_srm(cs, RING_CTX_TIMESTAMP(engine->mmio_base), offset + 4012); in __measure_timestamps()
107 intel_engine_flush_submission(engine); in __measure_timestamps()
131 engine->name, sema[1], sema[3], sema[0], sema[4]); in __measure_timestamps()
138 static int __live_engine_timestamps(struct intel_engine_cs *engine) in __live_engine_timestamps() argument
144 ce = intel_context_create(engine); in __live_engine_timestamps()
162 engine->name, dt, in __live_engine_timestamps()
163 intel_gt_clock_interval_to_ns(engine->gt, d_ctx), in __live_engine_timestamps()
164 intel_gt_clock_interval_to_ns(engine->gt, d_ring)); in __live_engine_timestamps()
166 d_ring = intel_gt_clock_interval_to_ns(engine->gt, d_ring); in __live_engine_timestamps()
169 engine->name); in __live_engine_timestamps()
176 d_ctx *= engine->gt->clock_frequency; in __live_engine_timestamps()
177 if (GRAPHICS_VER(engine->i915) == 11) in __live_engine_timestamps()
180 d_ring *= engine->gt->clock_frequency; in __live_engine_timestamps()
184 engine->name); in __live_engine_timestamps()
194 struct intel_engine_cs *engine; in live_engine_timestamps() local
205 for_each_engine(engine, gt, id) { in live_engine_timestamps()
208 st_engine_heartbeat_disable(engine); in live_engine_timestamps()
209 err = __live_engine_timestamps(engine); in live_engine_timestamps()
210 st_engine_heartbeat_enable(engine); in live_engine_timestamps()
218 static int __spin_until_busier(struct intel_engine_cs *engine, ktime_t busyness) in __spin_until_busier() argument
222 if (!intel_engine_uses_guc(engine)) in __spin_until_busier()
231 while (intel_engine_get_busy_time(engine, &unused) == busyness) { in __spin_until_busier()
235 ENGINE_TRACE(engine, "active wait time out %lld\n", dt); in __spin_until_busier()
246 struct intel_engine_cs *engine; in live_engine_busy_stats() local
252 * Check that if an engine supports busy-stats, they tell the truth. in live_engine_busy_stats()
259 for_each_engine(engine, gt, id) { in live_engine_busy_stats()
265 if (!intel_engine_supports_stats(engine)) in live_engine_busy_stats()
268 if (!intel_engine_can_store_dword(engine)) in live_engine_busy_stats()
276 st_engine_heartbeat_disable(engine); in live_engine_busy_stats()
278 ENGINE_TRACE(engine, "measuring idle time\n"); in live_engine_busy_stats()
280 de = intel_engine_get_busy_time(engine, &t[0]); in live_engine_busy_stats()
282 de = ktime_sub(intel_engine_get_busy_time(engine, &t[1]), de); in live_engine_busy_stats()
287 engine->name, in live_engine_busy_stats()
296 engine->kernel_context, in live_engine_busy_stats()
304 busyness = intel_engine_get_busy_time(engine, &dummy); in live_engine_busy_stats()
306 intel_gt_set_wedged(engine->gt); in live_engine_busy_stats()
311 err = __spin_until_busier(engine, busyness); in live_engine_busy_stats()
317 ENGINE_TRACE(engine, "measuring busy time\n"); in live_engine_busy_stats()
319 de = intel_engine_get_busy_time(engine, &t[0]); in live_engine_busy_stats()
321 de = ktime_sub(intel_engine_get_busy_time(engine, &t[1]), de); in live_engine_busy_stats()
326 engine->name, in live_engine_busy_stats()
334 st_engine_heartbeat_enable(engine); in live_engine_busy_stats()
351 struct intel_engine_cs *engine; in live_engine_pm() local
365 for_each_engine(engine, gt, id) { in live_engine_pm()
371 * know that the engine is already awake, in which in live_engine_pm()
383 GEM_BUG_ON(intel_engine_pm_is_awake(engine)); in live_engine_pm()
384 intel_engine_pm_get(engine); in live_engine_pm()
387 if (!intel_engine_pm_get_if_awake(engine)) in live_engine_pm()
389 engine->name, p->name); in live_engine_pm()
391 intel_engine_pm_put_async(engine); in live_engine_pm()
392 intel_engine_pm_put_async(engine); in live_engine_pm()
395 intel_engine_pm_flush(engine); in live_engine_pm()
397 if (intel_engine_pm_is_awake(engine)) { in live_engine_pm()
399 engine->name); in live_engine_pm()