Lines Matching refs:trace_seq_data

197 static u32 read_fw_trace(struct pvr_fw_trace_seq_data *trace_seq_data, u32 offset)  in read_fw_trace()  argument
201 idx = trace_seq_data->idx + offset; in read_fw_trace()
205 idx = (idx + trace_seq_data->start_offset) % ROGUE_FW_TRACE_BUF_DEFAULT_SIZE_IN_DWORDS; in read_fw_trace()
206 return trace_seq_data->buffer[idx]; in read_fw_trace()
218 static bool fw_trace_get_next(struct pvr_fw_trace_seq_data *trace_seq_data) in fw_trace_get_next() argument
222 while (trace_seq_data->idx < ROGUE_FW_TRACE_BUF_DEFAULT_SIZE_IN_DWORDS) { in fw_trace_get_next()
223 id = read_fw_trace(trace_seq_data, 0); in fw_trace_get_next()
224 trace_seq_data->idx++; in fw_trace_get_next()
244 trace_seq_data->idx += 2 + ROGUE_FW_SF_PARAMNUM(id); in fw_trace_get_next()
247 id = read_fw_trace(trace_seq_data, 0); in fw_trace_get_next()
268 static void fw_trace_get_first(struct pvr_fw_trace_seq_data *trace_seq_data) in fw_trace_get_first() argument
270 trace_seq_data->idx = 0; in fw_trace_get_first()
272 while (trace_seq_data->idx < ROGUE_FW_TRACE_BUF_DEFAULT_SIZE_IN_DWORDS) { in fw_trace_get_first()
273 u32 id = read_fw_trace(trace_seq_data, 0); in fw_trace_get_first()
281 trace_seq_data->idx++; in fw_trace_get_first()
287 struct pvr_fw_trace_seq_data *trace_seq_data = s->private; in fw_trace_seq_start() local
291 fw_trace_get_first(trace_seq_data); in fw_trace_seq_start()
294 if (!fw_trace_get_next(trace_seq_data)) in fw_trace_seq_start()
298 return (trace_seq_data->idx < ROGUE_FW_TRACE_BUF_DEFAULT_SIZE_IN_DWORDS) ? pos : NULL; in fw_trace_seq_start()
303 struct pvr_fw_trace_seq_data *trace_seq_data = s->private; in fw_trace_seq_next() local
306 if (!fw_trace_get_next(trace_seq_data)) in fw_trace_seq_next()
309 return (trace_seq_data->idx < ROGUE_FW_TRACE_BUF_DEFAULT_SIZE_IN_DWORDS) ? pos : NULL; in fw_trace_seq_next()
318 struct pvr_fw_trace_seq_data *trace_seq_data = s->private; in fw_trace_seq_show() local
323 if (trace_seq_data->idx >= ROGUE_FW_TRACE_BUF_DEFAULT_SIZE_IN_DWORDS) in fw_trace_seq_show()
326 id = read_fw_trace(trace_seq_data, 0); in fw_trace_seq_show()
336 timestamp = ((u64)read_fw_trace(trace_seq_data, 1) << 32) | in fw_trace_seq_show()
337 read_fw_trace(trace_seq_data, 2); in fw_trace_seq_show()
344 trace_seq_data->assert_buf.info, in fw_trace_seq_show()
345 trace_seq_data->assert_buf.path, in fw_trace_seq_show()
346 trace_seq_data->assert_buf.line_num); in fw_trace_seq_show()
349 read_fw_trace(trace_seq_data, 3), in fw_trace_seq_show()
350 read_fw_trace(trace_seq_data, 4), in fw_trace_seq_show()
351 read_fw_trace(trace_seq_data, 5), in fw_trace_seq_show()
352 read_fw_trace(trace_seq_data, 6), in fw_trace_seq_show()
353 read_fw_trace(trace_seq_data, 7), in fw_trace_seq_show()
354 read_fw_trace(trace_seq_data, 8), in fw_trace_seq_show()
355 read_fw_trace(trace_seq_data, 9), in fw_trace_seq_show()
356 read_fw_trace(trace_seq_data, 10), in fw_trace_seq_show()
357 read_fw_trace(trace_seq_data, 11), in fw_trace_seq_show()
358 read_fw_trace(trace_seq_data, 12), in fw_trace_seq_show()
359 read_fw_trace(trace_seq_data, 13), in fw_trace_seq_show()
360 read_fw_trace(trace_seq_data, 14), in fw_trace_seq_show()
361 read_fw_trace(trace_seq_data, 15), in fw_trace_seq_show()
362 read_fw_trace(trace_seq_data, 16), in fw_trace_seq_show()
363 read_fw_trace(trace_seq_data, 17), in fw_trace_seq_show()
364 read_fw_trace(trace_seq_data, 18), in fw_trace_seq_show()
365 read_fw_trace(trace_seq_data, 19), in fw_trace_seq_show()
366 read_fw_trace(trace_seq_data, 20), in fw_trace_seq_show()
367 read_fw_trace(trace_seq_data, 21), in fw_trace_seq_show()
368 read_fw_trace(trace_seq_data, 22)); in fw_trace_seq_show()
386 struct pvr_fw_trace_seq_data *trace_seq_data; in fw_trace_open() local
389 trace_seq_data = kzalloc(sizeof(*trace_seq_data), GFP_KERNEL); in fw_trace_open()
390 if (!trace_seq_data) in fw_trace_open()
393 trace_seq_data->buffer = kcalloc(ROGUE_FW_TRACE_BUF_DEFAULT_SIZE_IN_DWORDS, in fw_trace_open()
394 sizeof(*trace_seq_data->buffer), GFP_KERNEL); in fw_trace_open()
395 if (!trace_seq_data->buffer) { in fw_trace_open()
404 memcpy(trace_seq_data->buffer, trace_buffer->buf, in fw_trace_open()
406 trace_seq_data->start_offset = READ_ONCE(tracebuf_space->trace_pointer); in fw_trace_open()
407 trace_seq_data->assert_buf = tracebuf_space->assert_buf; in fw_trace_open()
408 fw_trace_get_first(trace_seq_data); in fw_trace_open()
414 ((struct seq_file *)file->private_data)->private = trace_seq_data; in fw_trace_open()
419 kfree(trace_seq_data->buffer); in fw_trace_open()
422 kfree(trace_seq_data); in fw_trace_open()
429 struct pvr_fw_trace_seq_data *trace_seq_data = in fw_trace_release() local
433 kfree(trace_seq_data->buffer); in fw_trace_release()
434 kfree(trace_seq_data); in fw_trace_release()