Lines Matching refs:packet_queue

96 int cs_etm_decoder__get_packet(struct cs_etm_packet_queue *packet_queue,  in cs_etm_decoder__get_packet()  argument
99 if (!packet_queue || !packet) in cs_etm_decoder__get_packet()
103 if (packet_queue->packet_count == 0) in cs_etm_decoder__get_packet()
114 packet_queue->head = (packet_queue->head + 1) & in cs_etm_decoder__get_packet()
117 *packet = packet_queue->packet_buffer[packet_queue->head]; in cs_etm_decoder__get_packet()
119 packet_queue->packet_count--; in cs_etm_decoder__get_packet()
283 struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__do_soft_timestamp() argument
289 if (!packet_queue->next_cs_timestamp) in cs_etm_decoder__do_soft_timestamp()
292 estimated_ts = packet_queue->cs_timestamp + in cs_etm_decoder__do_soft_timestamp()
293 cs_etm_decoder__dec_instr_count_to_ns(&packet_queue->instr_count); in cs_etm_decoder__do_soft_timestamp()
296 packet_queue->cs_timestamp = min(packet_queue->next_cs_timestamp, estimated_ts); in cs_etm_decoder__do_soft_timestamp()
310 struct cs_etm_packet_queue *packet_queue; in cs_etm_decoder__do_hard_timestamp() local
315 packet_queue = cs_etm__etmq_get_packet_queue(etmq, trace_chan_id); in cs_etm_decoder__do_hard_timestamp()
316 if (!packet_queue) in cs_etm_decoder__do_hard_timestamp()
331 if (packet_queue->next_cs_timestamp) { in cs_etm_decoder__do_hard_timestamp()
336 packet_queue->cs_timestamp = packet_queue->next_cs_timestamp; in cs_etm_decoder__do_hard_timestamp()
337 packet_queue->next_cs_timestamp = converted_timestamp; in cs_etm_decoder__do_hard_timestamp()
347 packet_queue->cs_timestamp = 0; in cs_etm_decoder__do_hard_timestamp()
353 } else if (packet_queue->instr_count / INSTR_PER_NS > converted_timestamp) { in cs_etm_decoder__do_hard_timestamp()
358 packet_queue->cs_timestamp = 0; in cs_etm_decoder__do_hard_timestamp()
370 (packet_queue->instr_count / INSTR_PER_NS); in cs_etm_decoder__do_hard_timestamp()
371 packet_queue->cs_timestamp = max(packet_queue->cs_timestamp, estimated_first_ts); in cs_etm_decoder__do_hard_timestamp()
373 packet_queue->next_cs_timestamp = converted_timestamp; in cs_etm_decoder__do_hard_timestamp()
374 packet_queue->instr_count = 0; in cs_etm_decoder__do_hard_timestamp()
384 cs_etm_decoder__reset_timestamp(struct cs_etm_packet_queue *packet_queue) in cs_etm_decoder__reset_timestamp() argument
386 packet_queue->next_cs_timestamp = 0; in cs_etm_decoder__reset_timestamp()
387 packet_queue->instr_count = 0; in cs_etm_decoder__reset_timestamp()
391 cs_etm_decoder__buffer_packet(struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__buffer_packet() argument
398 if (packet_queue->packet_count >= CS_ETM_PACKET_MAX_BUFFER - 1) in cs_etm_decoder__buffer_packet()
404 et = packet_queue->tail; in cs_etm_decoder__buffer_packet()
406 packet_queue->tail = et; in cs_etm_decoder__buffer_packet()
407 packet_queue->packet_count++; in cs_etm_decoder__buffer_packet()
409 packet_queue->packet_buffer[et].sample_type = sample_type; in cs_etm_decoder__buffer_packet()
410 packet_queue->packet_buffer[et].isa = CS_ETM_ISA_UNKNOWN; in cs_etm_decoder__buffer_packet()
411 packet_queue->packet_buffer[et].cpu = cpu; in cs_etm_decoder__buffer_packet()
412 packet_queue->packet_buffer[et].start_addr = CS_ETM_INVAL_ADDR; in cs_etm_decoder__buffer_packet()
413 packet_queue->packet_buffer[et].end_addr = CS_ETM_INVAL_ADDR; in cs_etm_decoder__buffer_packet()
414 packet_queue->packet_buffer[et].instr_count = 0; in cs_etm_decoder__buffer_packet()
415 packet_queue->packet_buffer[et].last_instr_taken_branch = false; in cs_etm_decoder__buffer_packet()
416 packet_queue->packet_buffer[et].last_instr_size = 0; in cs_etm_decoder__buffer_packet()
417 packet_queue->packet_buffer[et].last_instr_type = 0; in cs_etm_decoder__buffer_packet()
418 packet_queue->packet_buffer[et].last_instr_subtype = 0; in cs_etm_decoder__buffer_packet()
419 packet_queue->packet_buffer[et].last_instr_cond = 0; in cs_etm_decoder__buffer_packet()
420 packet_queue->packet_buffer[et].flags = 0; in cs_etm_decoder__buffer_packet()
421 packet_queue->packet_buffer[et].exception_number = UINT32_MAX; in cs_etm_decoder__buffer_packet()
422 packet_queue->packet_buffer[et].trace_chan_id = trace_chan_id; in cs_etm_decoder__buffer_packet()
424 if (packet_queue->packet_count == CS_ETM_PACKET_MAX_BUFFER - 1) in cs_etm_decoder__buffer_packet()
432 struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__buffer_range() argument
439 ret = cs_etm_decoder__buffer_packet(packet_queue, trace_chan_id, in cs_etm_decoder__buffer_range()
444 packet = &packet_queue->packet_buffer[packet_queue->tail]; in cs_etm_decoder__buffer_range()
490 packet_queue->instr_count += elem->num_instr_range; in cs_etm_decoder__buffer_range()
492 ret = cs_etm_decoder__do_soft_timestamp(etmq, packet_queue, in cs_etm_decoder__buffer_range()
539 struct cs_etm_packet_queue *packet_queue, in cs_etm_decoder__set_tid() argument
586 cs_etm_decoder__reset_timestamp(packet_queue); in cs_etm_decoder__set_tid()
600 struct cs_etm_packet_queue *packet_queue; in cs_etm_decoder__gen_trace_elem_printer() local
603 packet_queue = cs_etm__etmq_get_packet_queue(etmq, trace_chan_id); in cs_etm_decoder__gen_trace_elem_printer()
604 if (!packet_queue) in cs_etm_decoder__gen_trace_elem_printer()
613 resp = cs_etm_decoder__buffer_discontinuity(packet_queue, in cs_etm_decoder__gen_trace_elem_printer()
617 resp = cs_etm_decoder__buffer_range(etmq, packet_queue, elem, in cs_etm_decoder__gen_trace_elem_printer()
621 resp = cs_etm_decoder__buffer_exception(packet_queue, elem, in cs_etm_decoder__gen_trace_elem_printer()
625 resp = cs_etm_decoder__buffer_exception_ret(packet_queue, in cs_etm_decoder__gen_trace_elem_printer()
634 resp = cs_etm_decoder__set_tid(etmq, packet_queue, in cs_etm_decoder__gen_trace_elem_printer()