Lines Matching defs:packet_queue

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