Lines Matching refs:engine
28 #define I915_READ_TAIL(engine) I915_READ(RING_TAIL((engine)->mmio_base)) argument
29 #define I915_WRITE_TAIL(engine, val) I915_WRITE(RING_TAIL((engine)->mmio_base), val) argument
31 #define I915_READ_START(engine) I915_READ(RING_START((engine)->mmio_base)) argument
32 #define I915_WRITE_START(engine, val) I915_WRITE(RING_START((engine)->mmio_base), val) argument
34 #define I915_READ_HEAD(engine) I915_READ(RING_HEAD((engine)->mmio_base)) argument
35 #define I915_WRITE_HEAD(engine, val) I915_WRITE(RING_HEAD((engine)->mmio_base), val) argument
37 #define I915_READ_CTL(engine) I915_READ(RING_CTL((engine)->mmio_base)) argument
38 #define I915_WRITE_CTL(engine, val) I915_WRITE(RING_CTL((engine)->mmio_base), val) argument
40 #define I915_READ_IMR(engine) I915_READ(RING_IMR((engine)->mmio_base)) argument
41 #define I915_WRITE_IMR(engine, val) I915_WRITE(RING_IMR((engine)->mmio_base), val) argument
43 #define I915_READ_MODE(engine) I915_READ(RING_MI_MODE((engine)->mmio_base)) argument
44 #define I915_WRITE_MODE(engine, val) I915_WRITE(RING_MI_MODE((engine)->mmio_base), val) argument
361 void (*irq_enable)(struct intel_engine_cs *engine);
362 void (*irq_disable)(struct intel_engine_cs *engine);
364 int (*init_hw)(struct intel_engine_cs *engine);
365 void (*reset_hw)(struct intel_engine_cs *engine,
368 void (*set_default_submission)(struct intel_engine_cs *engine);
370 struct intel_ring *(*context_pin)(struct intel_engine_cs *engine,
372 void (*context_unpin)(struct intel_engine_cs *engine,
415 void (*cancel_requests)(struct intel_engine_cs *engine);
423 void (*irq_seqno_barrier)(struct intel_engine_cs *engine);
424 void (*cleanup)(struct intel_engine_cs *engine);
577 intel_engine_flag(const struct intel_engine_cs *engine) in intel_engine_flag() argument
579 return BIT(engine->id); in intel_engine_flag()
583 intel_read_status_page(struct intel_engine_cs *engine, int reg) in intel_read_status_page() argument
586 return READ_ONCE(engine->status_page.page_addr[reg]); in intel_read_status_page()
590 intel_write_status_page(struct intel_engine_cs *engine, int reg, u32 value) in intel_write_status_page() argument
599 linux_clflush(&engine->status_page.page_addr[reg]); in intel_write_status_page()
600 engine->status_page.page_addr[reg] = value; in intel_write_status_page()
601 linux_clflush(&engine->status_page.page_addr[reg]); in intel_write_status_page()
604 WRITE_ONCE(engine->status_page.page_addr[reg], value); in intel_write_status_page()
634 intel_engine_create_ring(struct intel_engine_cs *engine, int size);
643 void intel_engine_stop(struct intel_engine_cs *engine);
644 void intel_engine_cleanup(struct intel_engine_cs *engine);
726 void intel_engine_init_global_seqno(struct intel_engine_cs *engine, u32 seqno);
728 void intel_engine_setup_common(struct intel_engine_cs *engine);
729 int intel_engine_init_common(struct intel_engine_cs *engine);
730 int intel_engine_create_scratch(struct intel_engine_cs *engine, int size);
731 void intel_engine_cleanup_common(struct intel_engine_cs *engine);
733 int intel_init_render_ring_buffer(struct intel_engine_cs *engine);
734 int intel_init_bsd_ring_buffer(struct intel_engine_cs *engine);
735 int intel_init_blt_ring_buffer(struct intel_engine_cs *engine);
736 int intel_init_vebox_ring_buffer(struct intel_engine_cs *engine);
738 u64 intel_engine_get_active_head(struct intel_engine_cs *engine);
739 u64 intel_engine_get_last_batch_head(struct intel_engine_cs *engine);
741 static inline u32 intel_engine_get_seqno(struct intel_engine_cs *engine) in intel_engine_get_seqno() argument
743 return intel_read_status_page(engine, I915_GEM_HWS_INDEX); in intel_engine_get_seqno()
746 static inline u32 intel_engine_last_submit(struct intel_engine_cs *engine) in intel_engine_last_submit() argument
755 return READ_ONCE(engine->timeline->seqno); in intel_engine_last_submit()
758 int init_workarounds_ring(struct intel_engine_cs *engine);
761 void intel_engine_get_instdone(struct intel_engine_cs *engine,
773 static inline u32 intel_hws_seqno_address(struct intel_engine_cs *engine) in intel_hws_seqno_address() argument
775 return engine->status_page.ggtt_offset + I915_GEM_HWS_INDEX_ADDR; in intel_hws_seqno_address()
779 int intel_engine_init_breadcrumbs(struct intel_engine_cs *engine);
831 bool intel_engine_add_wait(struct intel_engine_cs *engine,
833 void intel_engine_remove_wait(struct intel_engine_cs *engine,
839 static inline bool intel_engine_has_waiter(const struct intel_engine_cs *engine) in intel_engine_has_waiter() argument
841 return READ_ONCE(engine->breadcrumbs.irq_wait); in intel_engine_has_waiter()
844 unsigned int intel_engine_wakeup(struct intel_engine_cs *engine);
848 void __intel_engine_disarm_breadcrumbs(struct intel_engine_cs *engine);
849 void intel_engine_disarm_breadcrumbs(struct intel_engine_cs *engine);
851 void intel_engine_reset_breadcrumbs(struct intel_engine_cs *engine);
852 void intel_engine_fini_breadcrumbs(struct intel_engine_cs *engine);
853 bool intel_breadcrumbs_busy(struct intel_engine_cs *engine);
866 bool intel_engine_is_idle(struct intel_engine_cs *engine);
872 bool intel_engine_can_store_dword(struct intel_engine_cs *engine);
874 void intel_engine_dump(struct intel_engine_cs *engine, struct drm_printer *p);