Lines Matching defs:amdgpu_ring_funcs
166 struct amdgpu_ring_funcs { struct
167 enum amdgpu_ring_type type;
168 uint32_t align_mask;
169 u32 nop;
170 bool support_64bit_ptrs;
171 bool no_user_fence;
172 bool secure_submission_supported;
173 unsigned extra_dw;
176 u64 (*get_rptr)(struct amdgpu_ring *ring);
177 u64 (*get_wptr)(struct amdgpu_ring *ring);
178 void (*set_wptr)(struct amdgpu_ring *ring);
180 int (*parse_cs)(struct amdgpu_cs_parser *p,
183 int (*patch_cs_in_place)(struct amdgpu_cs_parser *p,
187 unsigned emit_frame_size;
188 unsigned emit_ib_size;
190 void (*emit_ib)(struct amdgpu_ring *ring,
194 void (*emit_fence)(struct amdgpu_ring *ring, uint64_t addr,
196 void (*emit_pipeline_sync)(struct amdgpu_ring *ring);
197 void (*emit_vm_flush)(struct amdgpu_ring *ring, unsigned vmid,
199 void (*emit_hdp_flush)(struct amdgpu_ring *ring);
200 void (*emit_gds_switch)(struct amdgpu_ring *ring, uint32_t vmid,
205 int (*test_ring)(struct amdgpu_ring *ring);
206 int (*test_ib)(struct amdgpu_ring *ring, long timeout);
208 void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
209 void (*insert_start)(struct amdgpu_ring *ring);
210 void (*insert_end)(struct amdgpu_ring *ring);
212 void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
213 unsigned (*init_cond_exec)(struct amdgpu_ring *ring, uint64_t addr);
215 void (*begin_use)(struct amdgpu_ring *ring);
216 void (*end_use)(struct amdgpu_ring *ring);
217 void (*emit_switch_buffer) (struct amdgpu_ring *ring);
218 void (*emit_cntxcntl) (struct amdgpu_ring *ring, uint32_t flags);
219 void (*emit_gfx_shadow)(struct amdgpu_ring *ring, u64 shadow_va, u64 csa_va,
221 void (*emit_rreg)(struct amdgpu_ring *ring, uint32_t reg,
246 const struct amdgpu_ring_funcs *funcs; argument