Lines Matching refs:read
63 parse_error(struct aub_read *read, const uint32_t *p, const char *fmt, ...)
65 if (!read->error)
73 read->error(read->user_data, p, msg);
79 handle_trace_header(struct aub_read *read, const uint32_t *p)
90 if (!gen_get_device_info(aub_pci_id, &read->devinfo)) {
91 parse_error(read, p,
102 if (read->info)
103 read->info(read->user_data, aub_pci_id, app_name);
109 handle_memtrace_version(struct aub_read *read, const uint32_t *p)
121 if (!gen_get_device_info(aub_pci_id, &read->devinfo)) {
122 parse_error(read, p, "can't find device information: pci_id=0x%x\n", aub_pci_id);
126 if (read->info)
127 read->info(read->user_data, aub_pci_id, app_name + pci_id_len);
134 handle_trace_block(struct aub_read *read, const uint32_t *p)
142 uint64_t address = gen_48b_address((read->devinfo.gen >= 8 ? ((uint64_t) p[5] << 32) : 0) |
149 if (read->local_write)
150 read->local_write(read->user_data, address, data, size);
164 parse_error(read, p, "command write to unknown ring %d\n", type);
168 if (read->ring_write)
169 read->ring_write(read->user_data, engine, data, size);
178 handle_memtrace_reg_write(struct aub_read *read, const uint32_t *p)
183 if (read->reg_write)
184 read->reg_write(read->user_data, offset, value);
191 read->render_elsp[read->render_elsp_index++] = value;
192 if (read->render_elsp_index < 4)
195 read->render_elsp_index = 0;
197 context_descriptor = (uint64_t)read->render_elsp[2] << 32 |
198 read->render_elsp[3];
201 read->video_elsp[read->video_elsp_index++] = value;
202 if (read->video_elsp_index < 4)
205 read->video_elsp_index = 0;
207 context_descriptor = (uint64_t)read->video_elsp[2] << 32 |
208 read->video_elsp[3];
211 read->blitter_elsp[read->blitter_elsp_index++] = value;
212 if (read->blitter_elsp_index < 4)
215 read->blitter_elsp_index = 0;
217 context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 |
218 read->blitter_elsp[3];
221 read->render_elsp[3] = value;
224 read->render_elsp[2] = value;
227 read->video_elsp[3] = value;
230 read->video_elsp[2] = value;
233 read->blitter_elsp[3] = value;
236 read->blitter_elsp[2] = value;
240 context_descriptor = (uint64_t)read->render_elsp[2] << 32 |
241 read->render_elsp[3];
245 context_descriptor = (uint64_t)read->video_elsp[2] << 32 |
246 read->video_elsp[3];
250 context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 |
251 read->blitter_elsp[3];
257 if (read->execlist_write)
258 read->execlist_write(read->user_data, engine, context_descriptor);
262 handle_memtrace_mem_write(struct aub_read *read, const uint32_t *p)
271 if (read->ggtt_write)
272 read->ggtt_write(read->user_data, addr, data, size);
275 if (read->local_write)
276 read->local_write(read->user_data, addr, data, size);
279 if (read->phys_write)
280 read->phys_write(read->user_data, addr, data, size);
283 if (read->ggtt_entry_write)
284 read->ggtt_entry_write(read->user_data, addr, data, size);
290 aub_read_command(struct aub_read *read, const void *data, uint32_t data_len)
309 parse_error(read, data, "unknown opcode %d\n", OPCODE(h));
323 if (!handle_trace_header(read, p))
327 if (!handle_trace_block(read, p))
333 if (!handle_memtrace_version(read, p))
337 handle_memtrace_reg_write(read, p);
340 handle_memtrace_mem_write(read, p);
348 parse_error(read, p,