Lines Matching refs:packet_queue
83 int cs_etm_decoder__get_packet(struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__get_packet() argument
86 if (!packet_queue || !packet) in cs_etm_decoder__get_packet()
90 if (packet_queue->packet_count == 0) in cs_etm_decoder__get_packet()
101 packet_queue->head = (packet_queue->head + 1) & in cs_etm_decoder__get_packet()
104 *packet = packet_queue->packet_buffer[packet_queue->head]; in cs_etm_decoder__get_packet()
106 packet_queue->packet_count--; in cs_etm_decoder__get_packet()
274 struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__do_soft_timestamp() argument
278 if (!packet_queue->timestamp) in cs_etm_decoder__do_soft_timestamp()
281 packet_queue->timestamp = packet_queue->next_timestamp; in cs_etm_decoder__do_soft_timestamp()
284 packet_queue->next_timestamp += packet_queue->instr_count; in cs_etm_decoder__do_soft_timestamp()
285 packet_queue->instr_count = 0; in cs_etm_decoder__do_soft_timestamp()
298 struct cs_etm_packet_queue *packet_queue; in cs_etm_decoder__do_hard_timestamp() local
301 packet_queue = cs_etm__etmq_get_packet_queue(etmq, trace_chan_id); in cs_etm_decoder__do_hard_timestamp()
302 if (!packet_queue) in cs_etm_decoder__do_hard_timestamp()
310 if (packet_queue->timestamp) { in cs_etm_decoder__do_hard_timestamp()
311 packet_queue->next_timestamp = elem->timestamp; in cs_etm_decoder__do_hard_timestamp()
322 packet_queue->timestamp = elem->timestamp - packet_queue->instr_count; in cs_etm_decoder__do_hard_timestamp()
323 packet_queue->next_timestamp = elem->timestamp; in cs_etm_decoder__do_hard_timestamp()
324 packet_queue->instr_count = 0; in cs_etm_decoder__do_hard_timestamp()
334 cs_etm_decoder__reset_timestamp(struct cs_etm_packet_queue *packet_queue) in cs_etm_decoder__reset_timestamp() argument
336 packet_queue->timestamp = 0; in cs_etm_decoder__reset_timestamp()
337 packet_queue->next_timestamp = 0; in cs_etm_decoder__reset_timestamp()
338 packet_queue->instr_count = 0; in cs_etm_decoder__reset_timestamp()
342 cs_etm_decoder__buffer_packet(struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__buffer_packet() argument
349 if (packet_queue->packet_count >= CS_ETM_PACKET_MAX_BUFFER - 1) in cs_etm_decoder__buffer_packet()
355 et = packet_queue->tail; in cs_etm_decoder__buffer_packet()
357 packet_queue->tail = et; in cs_etm_decoder__buffer_packet()
358 packet_queue->packet_count++; in cs_etm_decoder__buffer_packet()
360 packet_queue->packet_buffer[et].sample_type = sample_type; in cs_etm_decoder__buffer_packet()
361 packet_queue->packet_buffer[et].isa = CS_ETM_ISA_UNKNOWN; in cs_etm_decoder__buffer_packet()
362 packet_queue->packet_buffer[et].cpu = cpu; in cs_etm_decoder__buffer_packet()
363 packet_queue->packet_buffer[et].start_addr = CS_ETM_INVAL_ADDR; in cs_etm_decoder__buffer_packet()
364 packet_queue->packet_buffer[et].end_addr = CS_ETM_INVAL_ADDR; in cs_etm_decoder__buffer_packet()
365 packet_queue->packet_buffer[et].instr_count = 0; in cs_etm_decoder__buffer_packet()
366 packet_queue->packet_buffer[et].last_instr_taken_branch = false; in cs_etm_decoder__buffer_packet()
367 packet_queue->packet_buffer[et].last_instr_size = 0; in cs_etm_decoder__buffer_packet()
368 packet_queue->packet_buffer[et].last_instr_type = 0; in cs_etm_decoder__buffer_packet()
369 packet_queue->packet_buffer[et].last_instr_subtype = 0; in cs_etm_decoder__buffer_packet()
370 packet_queue->packet_buffer[et].last_instr_cond = 0; in cs_etm_decoder__buffer_packet()
371 packet_queue->packet_buffer[et].flags = 0; in cs_etm_decoder__buffer_packet()
372 packet_queue->packet_buffer[et].exception_number = UINT32_MAX; in cs_etm_decoder__buffer_packet()
373 packet_queue->packet_buffer[et].trace_chan_id = trace_chan_id; in cs_etm_decoder__buffer_packet()
375 if (packet_queue->packet_count == CS_ETM_PACKET_MAX_BUFFER - 1) in cs_etm_decoder__buffer_packet()
383 struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__buffer_range() argument
390 ret = cs_etm_decoder__buffer_packet(packet_queue, trace_chan_id, in cs_etm_decoder__buffer_range()
395 packet = &packet_queue->packet_buffer[packet_queue->tail]; in cs_etm_decoder__buffer_range()
450 packet_queue->instr_count += elem->num_instr_range; in cs_etm_decoder__buffer_range()
452 ret = cs_etm_decoder__do_soft_timestamp(etmq, packet_queue, in cs_etm_decoder__buffer_range()
499 struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__set_tid() argument
517 cs_etm_decoder__reset_timestamp(packet_queue); in cs_etm_decoder__set_tid()
531 struct cs_etm_packet_queue *packet_queue; in cs_etm_decoder__gen_trace_elem_printer() local
534 packet_queue = cs_etm__etmq_get_packet_queue(etmq, trace_chan_id); in cs_etm_decoder__gen_trace_elem_printer()
535 if (!packet_queue) in cs_etm_decoder__gen_trace_elem_printer()
544 resp = cs_etm_decoder__buffer_discontinuity(packet_queue, in cs_etm_decoder__gen_trace_elem_printer()
548 resp = cs_etm_decoder__buffer_range(etmq, packet_queue, elem, in cs_etm_decoder__gen_trace_elem_printer()
552 resp = cs_etm_decoder__buffer_exception(packet_queue, elem, in cs_etm_decoder__gen_trace_elem_printer()
556 resp = cs_etm_decoder__buffer_exception_ret(packet_queue, in cs_etm_decoder__gen_trace_elem_printer()
564 resp = cs_etm_decoder__set_tid(etmq, packet_queue, in cs_etm_decoder__gen_trace_elem_printer()