Lines Matching full:engine
47 * ENGINE_READ(engine, REG_FOO);
52 * ENGINE_READ_IDX(engine, REG_BAR, i)
130 intel_read_status_page(const struct intel_engine_cs *engine, int reg) in intel_read_status_page() argument
133 return READ_ONCE(engine->status_page.addr[reg]); in intel_read_status_page()
137 intel_write_status_page(struct intel_engine_cs *engine, int reg, u32 value) in intel_write_status_page() argument
144 drm_clflush_virt_range(&engine->status_page.addr[reg], sizeof(value)); in intel_write_status_page()
145 WRITE_ONCE(engine->status_page.addr[reg], value); in intel_write_status_page()
146 drm_clflush_virt_range(&engine->status_page.addr[reg], sizeof(value)); in intel_write_status_page()
184 void intel_engine_stop(struct intel_engine_cs *engine);
185 void intel_engine_cleanup(struct intel_engine_cs *engine);
190 void intel_engine_free_request_pool(struct intel_engine_cs *engine);
195 int intel_engine_init_common(struct intel_engine_cs *engine);
196 void intel_engine_cleanup_common(struct intel_engine_cs *engine);
198 int intel_engine_resume(struct intel_engine_cs *engine);
200 int intel_ring_submission_setup(struct intel_engine_cs *engine);
202 int intel_engine_stop_cs(struct intel_engine_cs *engine);
203 void intel_engine_cancel_stop_cs(struct intel_engine_cs *engine);
205 void intel_engine_wait_for_pending_mi_fw(struct intel_engine_cs *engine);
207 void intel_engine_set_hwsp_writemask(struct intel_engine_cs *engine, u32 mask);
209 u64 intel_engine_get_active_head(const struct intel_engine_cs *engine);
210 u64 intel_engine_get_last_batch_head(const struct intel_engine_cs *engine);
212 void intel_engine_get_instdone(const struct intel_engine_cs *engine,
215 void intel_engine_init_execlists(struct intel_engine_cs *engine);
217 bool intel_engine_irq_enable(struct intel_engine_cs *engine);
218 void intel_engine_irq_disable(struct intel_engine_cs *engine);
220 static inline void __intel_engine_reset(struct intel_engine_cs *engine, in __intel_engine_reset() argument
223 if (engine->reset.rewind) in __intel_engine_reset()
224 engine->reset.rewind(engine, stalled); in __intel_engine_reset()
225 engine->serial++; /* contexts lost */ in __intel_engine_reset()
229 bool intel_engine_is_idle(struct intel_engine_cs *engine);
231 void __intel_engine_flush_submission(struct intel_engine_cs *engine, bool sync);
232 static inline void intel_engine_flush_submission(struct intel_engine_cs *engine) in intel_engine_flush_submission() argument
234 __intel_engine_flush_submission(engine, true); in intel_engine_flush_submission()
239 bool intel_engine_can_store_dword(struct intel_engine_cs *engine);
242 void intel_engine_dump(struct intel_engine_cs *engine,
249 ktime_t intel_engine_get_busy_time(struct intel_engine_cs *engine,
252 void intel_engine_get_hung_entity(struct intel_engine_cs *engine,
257 intel_engine_create_pinned_context(struct intel_engine_cs *engine,
266 void xehp_enable_ccs_engines(struct intel_engine_cs *engine);
272 static inline bool intel_engine_uses_guc(const struct intel_engine_cs *engine) in intel_engine_uses_guc() argument
274 return engine->gt->submission_method >= INTEL_SUBMISSION_GUC; in intel_engine_uses_guc()
278 intel_engine_has_preempt_reset(const struct intel_engine_cs *engine) in intel_engine_has_preempt_reset() argument
283 return intel_engine_has_preemption(engine); in intel_engine_has_preempt_reset()
301 intel_virtual_engine_has_heartbeat(const struct intel_engine_cs *engine) in intel_virtual_engine_has_heartbeat() argument
305 * heartbeat status of the actual physical engine that the work in intel_virtual_engine_has_heartbeat()
309 GEM_BUG_ON(!intel_engine_uses_guc(engine)); in intel_virtual_engine_has_heartbeat()
311 return intel_guc_virtual_engine_has_heartbeat(engine); in intel_virtual_engine_has_heartbeat()
315 intel_engine_has_heartbeat(const struct intel_engine_cs *engine) in intel_engine_has_heartbeat() argument
320 if (intel_engine_is_virtual(engine)) in intel_engine_has_heartbeat()
321 return intel_virtual_engine_has_heartbeat(engine); in intel_engine_has_heartbeat()
323 return READ_ONCE(engine->props.heartbeat_interval_ms); in intel_engine_has_heartbeat()
327 intel_engine_get_sibling(struct intel_engine_cs *engine, unsigned int sibling) in intel_engine_get_sibling() argument
329 GEM_BUG_ON(!intel_engine_is_virtual(engine)); in intel_engine_get_sibling()
330 return engine->cops->get_sibling(engine, sibling); in intel_engine_get_sibling()
334 intel_engine_set_hung_context(struct intel_engine_cs *engine, in intel_engine_set_hung_context() argument
337 engine->hung_ce = ce; in intel_engine_set_hung_context()
341 intel_engine_clear_hung_context(struct intel_engine_cs *engine) in intel_engine_clear_hung_context() argument
343 intel_engine_set_hung_context(engine, NULL); in intel_engine_clear_hung_context()
347 intel_engine_get_hung_context(struct intel_engine_cs *engine) in intel_engine_get_hung_context() argument
349 return engine->hung_ce; in intel_engine_get_hung_context()
352 u64 intel_clamp_heartbeat_interval_ms(struct intel_engine_cs *engine, u64 value);
353 u64 intel_clamp_max_busywait_duration_ns(struct intel_engine_cs *engine, u64 value);
354 u64 intel_clamp_preempt_timeout_ms(struct intel_engine_cs *engine, u64 value);
355 u64 intel_clamp_stop_timeout_ms(struct intel_engine_cs *engine, u64 value);
356 u64 intel_clamp_timeslice_duration_ms(struct intel_engine_cs *engine, u64 value);