Lines Matching full:engine
47 * ENGINE_READ(engine, REG_FOO);
52 * ENGINE_READ_IDX(engine, REG_BAR, i)
133 intel_read_status_page(const struct intel_engine_cs *engine, int reg) in intel_read_status_page() argument
136 return READ_ONCE(engine->status_page.addr[reg]); in intel_read_status_page()
140 intel_write_status_page(struct intel_engine_cs *engine, int reg, u32 value) in intel_write_status_page() argument
147 drm_clflush_virt_range(&engine->status_page.addr[reg], sizeof(value)); in intel_write_status_page()
148 WRITE_ONCE(engine->status_page.addr[reg], value); in intel_write_status_page()
149 drm_clflush_virt_range(&engine->status_page.addr[reg], sizeof(value)); in intel_write_status_page()
187 void intel_engine_stop(struct intel_engine_cs *engine);
188 void intel_engine_cleanup(struct intel_engine_cs *engine);
193 void intel_engine_free_request_pool(struct intel_engine_cs *engine);
198 int intel_engine_init_common(struct intel_engine_cs *engine);
199 void intel_engine_cleanup_common(struct intel_engine_cs *engine);
201 int intel_engine_resume(struct intel_engine_cs *engine);
203 int intel_ring_submission_setup(struct intel_engine_cs *engine);
205 int intel_engine_stop_cs(struct intel_engine_cs *engine);
206 void intel_engine_cancel_stop_cs(struct intel_engine_cs *engine);
208 void intel_engine_wait_for_pending_mi_fw(struct intel_engine_cs *engine);
210 void intel_engine_set_hwsp_writemask(struct intel_engine_cs *engine, u32 mask);
212 u64 intel_engine_get_active_head(const struct intel_engine_cs *engine);
213 u64 intel_engine_get_last_batch_head(const struct intel_engine_cs *engine);
215 void intel_engine_get_instdone(const struct intel_engine_cs *engine,
218 void intel_engine_init_execlists(struct intel_engine_cs *engine);
220 bool intel_engine_irq_enable(struct intel_engine_cs *engine);
221 void intel_engine_irq_disable(struct intel_engine_cs *engine);
223 static inline void __intel_engine_reset(struct intel_engine_cs *engine, in __intel_engine_reset() argument
226 if (engine->reset.rewind) in __intel_engine_reset()
227 engine->reset.rewind(engine, stalled); in __intel_engine_reset()
228 engine->serial++; /* contexts lost */ in __intel_engine_reset()
232 bool intel_engine_is_idle(struct intel_engine_cs *engine);
234 void __intel_engine_flush_submission(struct intel_engine_cs *engine, bool sync);
235 static inline void intel_engine_flush_submission(struct intel_engine_cs *engine) in intel_engine_flush_submission() argument
237 __intel_engine_flush_submission(engine, true); in intel_engine_flush_submission()
242 bool intel_engine_can_store_dword(struct intel_engine_cs *engine);
245 void intel_engine_dump(struct intel_engine_cs *engine,
252 ktime_t intel_engine_get_busy_time(struct intel_engine_cs *engine,
255 void intel_engine_get_hung_entity(struct intel_engine_cs *engine,
260 intel_engine_create_pinned_context(struct intel_engine_cs *engine,
269 void xehp_enable_ccs_engines(struct intel_engine_cs *engine);
275 static inline bool intel_engine_uses_guc(const struct intel_engine_cs *engine) in intel_engine_uses_guc() argument
277 return engine->gt->submission_method >= INTEL_SUBMISSION_GUC; in intel_engine_uses_guc()
281 intel_engine_has_preempt_reset(const struct intel_engine_cs *engine) in intel_engine_has_preempt_reset() argument
286 return intel_engine_has_preemption(engine); in intel_engine_has_preempt_reset()
304 intel_virtual_engine_has_heartbeat(const struct intel_engine_cs *engine) in intel_virtual_engine_has_heartbeat() argument
308 * heartbeat status of the actual physical engine that the work in intel_virtual_engine_has_heartbeat()
312 GEM_BUG_ON(!intel_engine_uses_guc(engine)); in intel_virtual_engine_has_heartbeat()
314 return intel_guc_virtual_engine_has_heartbeat(engine); in intel_virtual_engine_has_heartbeat()
318 intel_engine_has_heartbeat(const struct intel_engine_cs *engine) in intel_engine_has_heartbeat() argument
323 if (intel_engine_is_virtual(engine)) in intel_engine_has_heartbeat()
324 return intel_virtual_engine_has_heartbeat(engine); in intel_engine_has_heartbeat()
326 return READ_ONCE(engine->props.heartbeat_interval_ms); in intel_engine_has_heartbeat()
330 intel_engine_get_sibling(struct intel_engine_cs *engine, unsigned int sibling) in intel_engine_get_sibling() argument
332 GEM_BUG_ON(!intel_engine_is_virtual(engine)); in intel_engine_get_sibling()
333 return engine->cops->get_sibling(engine, sibling); in intel_engine_get_sibling()
337 intel_engine_set_hung_context(struct intel_engine_cs *engine, in intel_engine_set_hung_context() argument
340 engine->hung_ce = ce; in intel_engine_set_hung_context()
344 intel_engine_clear_hung_context(struct intel_engine_cs *engine) in intel_engine_clear_hung_context() argument
346 intel_engine_set_hung_context(engine, NULL); in intel_engine_clear_hung_context()
350 intel_engine_get_hung_context(struct intel_engine_cs *engine) in intel_engine_get_hung_context() argument
352 return engine->hung_ce; in intel_engine_get_hung_context()
355 u64 intel_clamp_heartbeat_interval_ms(struct intel_engine_cs *engine, u64 value);
356 u64 intel_clamp_max_busywait_duration_ns(struct intel_engine_cs *engine, u64 value);
357 u64 intel_clamp_preempt_timeout_ms(struct intel_engine_cs *engine, u64 value);
358 u64 intel_clamp_stop_timeout_ms(struct intel_engine_cs *engine, u64 value);
359 u64 intel_clamp_timeslice_duration_ms(struct intel_engine_cs *engine, u64 value);