Lines Matching defs:amdgpu_ring_funcs

165 struct amdgpu_ring_funcs {  struct
166 enum amdgpu_ring_type type;
167 uint32_t align_mask;
168 u32 nop;
169 bool support_64bit_ptrs;
170 bool no_user_fence;
171 bool secure_submission_supported;
172 unsigned extra_dw;
175 u64 (*get_rptr)(struct amdgpu_ring *ring);
176 u64 (*get_wptr)(struct amdgpu_ring *ring);
177 void (*set_wptr)(struct amdgpu_ring *ring);
179 int (*parse_cs)(struct amdgpu_cs_parser *p,
182 int (*patch_cs_in_place)(struct amdgpu_cs_parser *p,
186 unsigned emit_frame_size;
187 unsigned emit_ib_size;
189 void (*emit_ib)(struct amdgpu_ring *ring,
193 void (*emit_fence)(struct amdgpu_ring *ring, uint64_t addr,
195 void (*emit_pipeline_sync)(struct amdgpu_ring *ring);
196 void (*emit_vm_flush)(struct amdgpu_ring *ring, unsigned vmid,
198 void (*emit_hdp_flush)(struct amdgpu_ring *ring);
199 void (*emit_gds_switch)(struct amdgpu_ring *ring, uint32_t vmid,
204 int (*test_ring)(struct amdgpu_ring *ring);
205 int (*test_ib)(struct amdgpu_ring *ring, long timeout);
207 void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
208 void (*insert_start)(struct amdgpu_ring *ring);
209 void (*insert_end)(struct amdgpu_ring *ring);
211 void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
212 unsigned (*init_cond_exec)(struct amdgpu_ring *ring);
213 void (*patch_cond_exec)(struct amdgpu_ring *ring, unsigned offset);
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,
243 const struct amdgpu_ring_funcs *funcs; argument