Lines Matching refs:amdgpu_ring

56 #define to_amdgpu_ring(s) container_of((s), struct amdgpu_ring, sched)
86 struct amdgpu_ring;
114 void amdgpu_fence_driver_clear_job_fences(struct amdgpu_ring *ring);
115 void amdgpu_fence_driver_force_completion(struct amdgpu_ring *ring);
117 int amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring,
120 int amdgpu_fence_driver_start_ring(struct amdgpu_ring *ring,
127 int amdgpu_fence_emit(struct amdgpu_ring *ring, struct dma_fence **fence, struct amdgpu_job *job,
129 int amdgpu_fence_emit_polling(struct amdgpu_ring *ring, uint32_t *s,
131 bool amdgpu_fence_process(struct amdgpu_ring *ring);
132 int amdgpu_fence_wait_empty(struct amdgpu_ring *ring);
133 signed long amdgpu_fence_wait_polling(struct amdgpu_ring *ring,
136 unsigned amdgpu_fence_count_emitted(struct amdgpu_ring *ring);
153 u64 (*get_rptr)(struct amdgpu_ring *ring);
154 u64 (*get_wptr)(struct amdgpu_ring *ring);
155 void (*set_wptr)(struct amdgpu_ring *ring);
163 void (*emit_ib)(struct amdgpu_ring *ring,
167 void (*emit_fence)(struct amdgpu_ring *ring, uint64_t addr,
169 void (*emit_pipeline_sync)(struct amdgpu_ring *ring);
170 void (*emit_vm_flush)(struct amdgpu_ring *ring, unsigned vmid,
172 void (*emit_hdp_flush)(struct amdgpu_ring *ring);
173 void (*emit_gds_switch)(struct amdgpu_ring *ring, uint32_t vmid,
178 int (*test_ring)(struct amdgpu_ring *ring);
179 int (*test_ib)(struct amdgpu_ring *ring, long timeout);
181 void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
182 void (*insert_start)(struct amdgpu_ring *ring);
183 void (*insert_end)(struct amdgpu_ring *ring);
185 void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
186 unsigned (*init_cond_exec)(struct amdgpu_ring *ring);
187 void (*patch_cond_exec)(struct amdgpu_ring *ring, unsigned offset);
189 void (*begin_use)(struct amdgpu_ring *ring);
190 void (*end_use)(struct amdgpu_ring *ring);
191 void (*emit_switch_buffer) (struct amdgpu_ring *ring);
192 void (*emit_cntxcntl) (struct amdgpu_ring *ring, uint32_t flags);
193 void (*emit_rreg)(struct amdgpu_ring *ring, uint32_t reg,
195 void (*emit_wreg)(struct amdgpu_ring *ring, uint32_t reg, uint32_t val);
196 void (*emit_reg_wait)(struct amdgpu_ring *ring, uint32_t reg,
198 void (*emit_reg_write_reg_wait)(struct amdgpu_ring *ring,
201 void (*emit_frame_cntl)(struct amdgpu_ring *ring, bool start,
204 void (*soft_recovery)(struct amdgpu_ring *ring, unsigned vmid);
205 int (*preempt_ib)(struct amdgpu_ring *ring);
206 void (*emit_mem_sync)(struct amdgpu_ring *ring);
207 void (*emit_wave_limit)(struct amdgpu_ring *ring, bool enable);
210 struct amdgpu_ring { struct
281 int amdgpu_ring_alloc(struct amdgpu_ring *ring, unsigned ndw);
282 void amdgpu_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count);
283 void amdgpu_ring_generic_pad_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
284 void amdgpu_ring_commit(struct amdgpu_ring *ring);
285 void amdgpu_ring_undo(struct amdgpu_ring *ring);
286 int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring,
290 void amdgpu_ring_fini(struct amdgpu_ring *ring);
291 void amdgpu_ring_emit_reg_write_reg_wait_helper(struct amdgpu_ring *ring,
294 bool amdgpu_ring_soft_recovery(struct amdgpu_ring *ring, unsigned int vmid,
297 static inline void amdgpu_ring_set_preempt_cond_exec(struct amdgpu_ring *ring, in amdgpu_ring_set_preempt_cond_exec()
303 static inline void amdgpu_ring_clear_ring(struct amdgpu_ring *ring) in amdgpu_ring_clear_ring()
311 static inline void amdgpu_ring_write(struct amdgpu_ring *ring, uint32_t v) in amdgpu_ring_write()
320 static inline void amdgpu_ring_write_multiple(struct amdgpu_ring *ring, in amdgpu_ring_write_multiple()
351 int amdgpu_ring_test_helper(struct amdgpu_ring *ring);
354 struct amdgpu_ring *ring);