Lines Matching defs:amdgpu_ring_funcs
136 struct amdgpu_ring_funcs { struct
137 enum amdgpu_ring_type type;
138 uint32_t align_mask;
139 u32 nop;
140 bool support_64bit_ptrs;
141 bool no_user_fence;
142 unsigned vmhub;
143 unsigned extra_dw;
146 u64 (*get_rptr)(struct amdgpu_ring *ring);
147 u64 (*get_wptr)(struct amdgpu_ring *ring);
148 void (*set_wptr)(struct amdgpu_ring *ring);
150 int (*parse_cs)(struct amdgpu_cs_parser *p, uint32_t ib_idx);
151 int (*patch_cs_in_place)(struct amdgpu_cs_parser *p, uint32_t ib_idx);
153 unsigned emit_frame_size;
154 unsigned emit_ib_size;
156 void (*emit_ib)(struct amdgpu_ring *ring,
160 void (*emit_fence)(struct amdgpu_ring *ring, uint64_t addr,
162 void (*emit_pipeline_sync)(struct amdgpu_ring *ring);
163 void (*emit_vm_flush)(struct amdgpu_ring *ring, unsigned vmid,
165 void (*emit_hdp_flush)(struct amdgpu_ring *ring);
166 void (*emit_gds_switch)(struct amdgpu_ring *ring, uint32_t vmid,
171 int (*test_ring)(struct amdgpu_ring *ring);
172 int (*test_ib)(struct amdgpu_ring *ring, long timeout);
174 void (*insert_nop)(struct amdgpu_ring *ring, uint32_t count);
175 void (*insert_start)(struct amdgpu_ring *ring);
176 void (*insert_end)(struct amdgpu_ring *ring);
178 void (*pad_ib)(struct amdgpu_ring *ring, struct amdgpu_ib *ib);
179 unsigned (*init_cond_exec)(struct amdgpu_ring *ring);
180 void (*patch_cond_exec)(struct amdgpu_ring *ring, unsigned offset);
204 const struct amdgpu_ring_funcs *funcs; argument