Lines Matching defs:amdgpu_ring_funcs
162 struct amdgpu_ring_funcs { struct
163 enum amdgpu_ring_type type;
164 uint32_t align_mask;
165 u32 nop;
166 bool support_64bit_ptrs;
167 bool no_user_fence;
168 bool secure_submission_supported;
169 unsigned extra_dw;
172 u64 (*get_rptr)(struct amdgpu_ring *ring);
173 u64 (*get_wptr)(struct amdgpu_ring *ring);
174 void (*set_wptr)(struct amdgpu_ring *ring);
176 int (*parse_cs)(struct amdgpu_cs_parser *p,
179 int (*patch_cs_in_place)(struct amdgpu_cs_parser *p,
183 unsigned emit_frame_size;
184 unsigned emit_ib_size;
186 void (*emit_ib)(struct amdgpu_ring *ring,
190 void (*emit_fence)(struct amdgpu_ring *ring, uint64_t addr,
192 void (*emit_pipeline_sync)(struct amdgpu_ring *ring);
193 void (*emit_vm_flush)(struct amdgpu_ring *ring, unsigned vmid,
195 void (*emit_hdp_flush)(struct amdgpu_ring *ring);
196 void (*emit_gds_switch)(struct amdgpu_ring *ring, uint32_t vmid,
201 int (*test_ring)(struct amdgpu_ring *ring);
202 int (*test_ib)(struct amdgpu_ring *ring, long timeout);
204 void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
205 void (*insert_start)(struct amdgpu_ring *ring);
206 void (*insert_end)(struct amdgpu_ring *ring);
208 void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
209 unsigned (*init_cond_exec)(struct amdgpu_ring *ring);
210 void (*patch_cond_exec)(struct amdgpu_ring *ring, unsigned offset);
212 void (*begin_use)(struct amdgpu_ring *ring);
213 void (*end_use)(struct amdgpu_ring *ring);
214 void (*emit_switch_buffer) (struct amdgpu_ring *ring);
215 void (*emit_cntxcntl) (struct amdgpu_ring *ring, uint32_t flags);
216 void (*emit_gfx_shadow)(struct amdgpu_ring *ring, u64 shadow_va, u64 csa_va,
240 const struct amdgpu_ring_funcs *funcs; argument