Lines Matching refs:amdgpu_ring

33 struct amdgpu_ring;
67 #define to_amdgpu_ring(s) container_of((s), struct amdgpu_ring, sched)
143 struct amdgpu_ring *ring;
155 void amdgpu_fence_driver_clear_job_fences(struct amdgpu_ring *ring);
156 void amdgpu_fence_driver_set_error(struct amdgpu_ring *ring, int error);
157 void amdgpu_fence_driver_force_completion(struct amdgpu_ring *ring);
161 int amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring);
162 int amdgpu_fence_driver_start_ring(struct amdgpu_ring *ring,
169 int amdgpu_fence_emit(struct amdgpu_ring *ring, struct dma_fence **f,
171 int amdgpu_fence_emit_polling(struct amdgpu_ring *ring, uint32_t *s,
173 bool amdgpu_fence_process(struct amdgpu_ring *ring);
174 int amdgpu_fence_wait_empty(struct amdgpu_ring *ring);
175 signed long amdgpu_fence_wait_polling(struct amdgpu_ring *ring,
178 unsigned amdgpu_fence_count_emitted(struct amdgpu_ring *ring);
182 u64 amdgpu_fence_last_unsignaled_time_us(struct amdgpu_ring *ring);
183 void amdgpu_fence_update_start_timestamp(struct amdgpu_ring *ring, uint32_t seq,
217 u64 (*get_rptr)(struct amdgpu_ring *ring);
218 u64 (*get_wptr)(struct amdgpu_ring *ring);
219 void (*set_wptr)(struct amdgpu_ring *ring);
231 void (*emit_ib)(struct amdgpu_ring *ring,
235 void (*emit_fence)(struct amdgpu_ring *ring, uint64_t addr,
237 void (*emit_pipeline_sync)(struct amdgpu_ring *ring);
238 void (*emit_vm_flush)(struct amdgpu_ring *ring, unsigned vmid,
240 void (*emit_hdp_flush)(struct amdgpu_ring *ring);
241 void (*emit_gds_switch)(struct amdgpu_ring *ring, uint32_t vmid,
246 int (*test_ring)(struct amdgpu_ring *ring);
247 int (*test_ib)(struct amdgpu_ring *ring, long timeout);
249 void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
250 void (*insert_start)(struct amdgpu_ring *ring);
251 void (*insert_end)(struct amdgpu_ring *ring);
253 void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
254 unsigned (*init_cond_exec)(struct amdgpu_ring *ring, uint64_t addr);
256 void (*begin_use)(struct amdgpu_ring *ring);
257 void (*end_use)(struct amdgpu_ring *ring);
258 void (*emit_switch_buffer) (struct amdgpu_ring *ring);
259 void (*emit_cntxcntl) (struct amdgpu_ring *ring, uint32_t flags);
260 void (*emit_gfx_shadow)(struct amdgpu_ring *ring, u64 shadow_va, u64 csa_va,
262 void (*emit_rreg)(struct amdgpu_ring *ring, uint32_t reg,
264 void (*emit_wreg)(struct amdgpu_ring *ring, uint32_t reg, uint32_t val);
265 void (*emit_reg_wait)(struct amdgpu_ring *ring, uint32_t reg,
267 void (*emit_reg_write_reg_wait)(struct amdgpu_ring *ring,
270 void (*emit_frame_cntl)(struct amdgpu_ring *ring, bool start,
273 void (*soft_recovery)(struct amdgpu_ring *ring, unsigned vmid);
274 int (*preempt_ib)(struct amdgpu_ring *ring);
275 void (*emit_mem_sync)(struct amdgpu_ring *ring);
276 void (*emit_wave_limit)(struct amdgpu_ring *ring, bool enable);
277 void (*patch_cntl)(struct amdgpu_ring *ring, unsigned offset);
278 void (*patch_ce)(struct amdgpu_ring *ring, unsigned offset);
279 void (*patch_de)(struct amdgpu_ring *ring, unsigned offset);
280 int (*reset)(struct amdgpu_ring *ring, unsigned int vmid,
282 void (*emit_cleaner_shader)(struct amdgpu_ring *ring);
288 struct amdgpu_ring { struct
443 int amdgpu_ring_alloc(struct amdgpu_ring *ring, unsigned ndw);
444 void amdgpu_ring_ib_begin(struct amdgpu_ring *ring);
445 void amdgpu_ring_ib_end(struct amdgpu_ring *ring);
446 void amdgpu_ring_ib_on_emit_cntl(struct amdgpu_ring *ring);
447 void amdgpu_ring_ib_on_emit_ce(struct amdgpu_ring *ring);
448 void amdgpu_ring_ib_on_emit_de(struct amdgpu_ring *ring);
450 void amdgpu_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count);
451 void amdgpu_ring_generic_pad_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
452 void amdgpu_ring_commit(struct amdgpu_ring *ring);
453 void amdgpu_ring_undo(struct amdgpu_ring *ring);
454 int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
458 void amdgpu_ring_fini(struct amdgpu_ring *ring);
459 void amdgpu_ring_emit_reg_write_reg_wait_helper(struct amdgpu_ring *ring,
462 bool amdgpu_ring_soft_recovery(struct amdgpu_ring *ring, unsigned int vmid,
465 static inline void amdgpu_ring_set_preempt_cond_exec(struct amdgpu_ring *ring, in amdgpu_ring_set_preempt_cond_exec()
471 static inline void amdgpu_ring_clear_ring(struct amdgpu_ring *ring) in amdgpu_ring_clear_ring()
479 static inline void amdgpu_ring_write(struct amdgpu_ring *ring, uint32_t v) in amdgpu_ring_write()
486 static inline void amdgpu_ring_write_multiple(struct amdgpu_ring *ring, in amdgpu_ring_write_multiple()
518 static inline void amdgpu_ring_patch_cond_exec(struct amdgpu_ring *ring, in amdgpu_ring_patch_cond_exec()
535 int amdgpu_ring_test_helper(struct amdgpu_ring *ring);
538 struct amdgpu_ring *ring);
540 int amdgpu_ring_init_mqd(struct amdgpu_ring *ring);
558 int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
564 bool amdgpu_ring_sched_ready(struct amdgpu_ring *ring);
565 void amdgpu_ring_backup_unprocessed_commands(struct amdgpu_ring *ring,
567 void amdgpu_ring_reset_helper_begin(struct amdgpu_ring *ring,
569 int amdgpu_ring_reset_helper_end(struct amdgpu_ring *ring,
571 bool amdgpu_ring_is_reset_type_supported(struct amdgpu_ring *ring,