Lines Matching defs:read
74 parse_error(struct aub_read *read, const uint32_t *p, const char *fmt, ...)
76 if (!read->error)
84 read->error(read->user_data, p, msg);
90 handle_trace_header(struct aub_read *read, const uint32_t *p)
101 if (!intel_get_device_info_from_pci_id(aub_pci_id, &read->devinfo)) {
102 parse_error(read, p,
113 if (read->info)
114 read->info(read->user_data, aub_pci_id, app_name);
120 handle_memtrace_version(struct aub_read *read, const uint32_t *p)
132 if (!intel_get_device_info_from_pci_id(aub_pci_id, &read->devinfo)) {
133 parse_error(read, p, "can't find device information: pci_id=0x%x\n", aub_pci_id);
137 if (read->info)
138 read->info(read->user_data, aub_pci_id, app_name + pci_id_len);
145 handle_trace_block(struct aub_read *read, const uint32_t *p)
153 uint64_t address = intel_48b_address((read->devinfo.ver >= 8 ? ((uint64_t) p[5] << 32) : 0) |
160 if (read->local_write)
161 read->local_write(read->user_data, address, data, size);
175 parse_error(read, p, "command write to unknown ring %d\n", type);
179 if (read->ring_write)
180 read->ring_write(read->user_data, engine, data, size);
189 handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p)
194 if (read->reg_write)
195 read->reg_write(read->user_data, offset, value);
202 read->render_elsp[read->render_elsp_index++] = value;
203 if (read->render_elsp_index < 4)
206 read->render_elsp_index = 0;
208 context_descriptor = (uint64_t)read->render_elsp[2] << 32 |
209 read->render_elsp[3];
212 read->video_elsp[read->video_elsp_index++] = value;
213 if (read->video_elsp_index < 4)
216 read->video_elsp_index = 0;
218 context_descriptor = (uint64_t)read->video_elsp[2] << 32 |
219 read->video_elsp[3];
222 read->blitter_elsp[read->blitter_elsp_index++] = value;
223 if (read->blitter_elsp_index < 4)
226 read->blitter_elsp_index = 0;
228 context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 |
229 read->blitter_elsp[3];
232 read->render_elsp[3] = value;
235 read->render_elsp[2] = value;
238 read->video_elsp[3] = value;
241 read->video_elsp[2] = value;
244 read->blitter_elsp[3] = value;
247 read->blitter_elsp[2] = value;
251 context_descriptor = (uint64_t)read->render_elsp[2] << 32 |
252 read->render_elsp[3];
256 context_descriptor = (uint64_t)read->video_elsp[2] << 32 |
257 read->video_elsp[3];
261 context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 |
262 read->blitter_elsp[3];
268 if (read->execlist_write)
269 read->execlist_write(read->user_data, engine, context_descriptor);
273 do_write(struct aub_read *read, uint32_t address_space, uint64_t addr, const void *data, uint32_t size)
280 if (read->ggtt_write)
281 read->ggtt_write(read->user_data, addr, data, size);
284 if (read->local_write)
285 read->local_write(read->user_data, addr, data, size);
288 if (read->phys_write)
289 read->phys_write(read->user_data, addr, data, size);
292 if (read->ggtt_entry_write)
293 read->ggtt_entry_write(read->user_data, addr, data, size);
299 handle_memtrace_mem_write(struct aub_read *read, const uint32_t *p)
306 do_write(read, address_space, addr, data, size);
310 handle_memtrace_mem_write_discont(struct aub_read *read, const uint32_t *p)
326 do_write(read, address_space, addr, data, size);
331 aub_read_command(struct aub_read *read, const void *data, uint32_t data_len)
350 parse_error(read, data, "unknown opcode %d\n", OPCODE(h));
361 parse_error(read, data,
378 if (!handle_trace_header(read, p))
382 if (!handle_trace_block(read, p))
388 if (!handle_memtrace_version(read, p))
392 handle_memtrace_reg_write(read, p);
395 handle_memtrace_mem_write(read, p);
403 if (read->comment)
404 read->comment(read->user_data, (const char *)(p + 2));
407 handle_memtrace_mem_write_discont(read, p);
420 parse_error(read, p,