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