Lines Matching defs:amdgpu_ring_funcs

191 struct amdgpu_ring_funcs {  struct
199 enum amdgpu_ring_type type;
200 uint32_t align_mask;
210 u32 nop;
211 bool support_64bit_ptrs;
212 bool no_user_fence;
213 bool secure_submission_supported;
214 unsigned extra_dw;
217 u64 (*get_rptr)(struct amdgpu_ring *ring);
218 u64 (*get_wptr)(struct amdgpu_ring *ring);
219 void (*set_wptr)(struct amdgpu_ring *ring);
221 int (*parse_cs)(struct amdgpu_cs_parser *p,
224 int (*patch_cs_in_place)(struct amdgpu_cs_parser *p,
228 unsigned emit_frame_size;
229 unsigned emit_ib_size;
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,
290 const struct amdgpu_ring_funcs *funcs; argument