Lines Matching refs:engine
157 intel_read_status_page(const struct intel_engine_cs *engine, int reg) in intel_read_status_page() argument
160 return READ_ONCE(engine->status_page.addr[reg]); in intel_read_status_page()
164 intel_write_status_page(struct intel_engine_cs *engine, int reg, u32 value) in intel_write_status_page() argument
173 clflush(&engine->status_page.addr[reg]); in intel_write_status_page()
174 engine->status_page.addr[reg] = value; in intel_write_status_page()
175 clflush(&engine->status_page.addr[reg]); in intel_write_status_page()
178 WRITE_ONCE(engine->status_page.addr[reg], value); in intel_write_status_page()
210 intel_engine_create_ring(struct intel_engine_cs *engine, int size);
228 void intel_engine_stop(struct intel_engine_cs *engine);
229 void intel_engine_cleanup(struct intel_engine_cs *engine);
330 int intel_engine_init_common(struct intel_engine_cs *engine);
331 void intel_engine_cleanup_common(struct intel_engine_cs *engine);
333 int intel_ring_submission_setup(struct intel_engine_cs *engine);
334 int intel_ring_submission_init(struct intel_engine_cs *engine);
336 int intel_engine_stop_cs(struct intel_engine_cs *engine);
337 void intel_engine_cancel_stop_cs(struct intel_engine_cs *engine);
339 void intel_engine_set_hwsp_writemask(struct intel_engine_cs *engine, u32 mask);
341 u64 intel_engine_get_active_head(const struct intel_engine_cs *engine);
342 u64 intel_engine_get_last_batch_head(const struct intel_engine_cs *engine);
344 void intel_engine_get_instdone(struct intel_engine_cs *engine,
347 void intel_engine_init_execlists(struct intel_engine_cs *engine);
349 void intel_engine_init_breadcrumbs(struct intel_engine_cs *engine);
350 void intel_engine_fini_breadcrumbs(struct intel_engine_cs *engine);
352 void intel_engine_signal_breadcrumbs(struct intel_engine_cs *engine);
353 void intel_engine_disarm_breadcrumbs(struct intel_engine_cs *engine);
356 intel_engine_queue_breadcrumbs(struct intel_engine_cs *engine) in intel_engine_queue_breadcrumbs() argument
358 irq_work_queue(&engine->breadcrumbs.irq_work); in intel_engine_queue_breadcrumbs()
361 void intel_engine_breadcrumbs_irq(struct intel_engine_cs *engine);
363 void intel_engine_reset_breadcrumbs(struct intel_engine_cs *engine);
364 void intel_engine_fini_breadcrumbs(struct intel_engine_cs *engine);
366 void intel_engine_print_breadcrumbs(struct intel_engine_cs *engine,
417 static inline void __intel_engine_reset(struct intel_engine_cs *engine, in __intel_engine_reset() argument
420 if (engine->reset.reset) in __intel_engine_reset()
421 engine->reset.reset(engine, stalled); in __intel_engine_reset()
422 engine->serial++; /* contexts lost */ in __intel_engine_reset()
425 bool intel_engine_is_idle(struct intel_engine_cs *engine);
430 bool intel_engine_can_store_dword(struct intel_engine_cs *engine);
433 void intel_engine_dump(struct intel_engine_cs *engine,
437 static inline void intel_engine_context_in(struct intel_engine_cs *engine) in intel_engine_context_in() argument
441 if (READ_ONCE(engine->stats.enabled) == 0) in intel_engine_context_in()
444 write_seqlock_irqsave(&engine->stats.lock, flags); in intel_engine_context_in()
446 if (engine->stats.enabled > 0) { in intel_engine_context_in()
447 if (engine->stats.active++ == 0) in intel_engine_context_in()
448 engine->stats.start = ktime_get(); in intel_engine_context_in()
449 GEM_BUG_ON(engine->stats.active == 0); in intel_engine_context_in()
452 write_sequnlock_irqrestore(&engine->stats.lock, flags); in intel_engine_context_in()
455 static inline void intel_engine_context_out(struct intel_engine_cs *engine) in intel_engine_context_out() argument
459 if (READ_ONCE(engine->stats.enabled) == 0) in intel_engine_context_out()
462 write_seqlock_irqsave(&engine->stats.lock, flags); in intel_engine_context_out()
464 if (engine->stats.enabled > 0) { in intel_engine_context_out()
467 if (engine->stats.active && --engine->stats.active == 0) { in intel_engine_context_out()
472 last = ktime_sub(ktime_get(), engine->stats.start); in intel_engine_context_out()
474 engine->stats.total = ktime_add(engine->stats.total, in intel_engine_context_out()
476 } else if (engine->stats.active == 0) { in intel_engine_context_out()
482 last = ktime_sub(ktime_get(), engine->stats.enabled_at); in intel_engine_context_out()
484 engine->stats.total = ktime_add(engine->stats.total, in intel_engine_context_out()
489 write_sequnlock_irqrestore(&engine->stats.lock, flags); in intel_engine_context_out()
492 int intel_enable_engine_stats(struct intel_engine_cs *engine);
493 void intel_disable_engine_stats(struct intel_engine_cs *engine);
495 ktime_t intel_engine_get_busy_time(struct intel_engine_cs *engine);
498 intel_engine_find_active_request(struct intel_engine_cs *engine);
522 void intel_engine_init_active(struct intel_engine_cs *engine,