etmq              273 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c cs_etm_decoder__do_soft_timestamp(struct cs_etm_queue *etmq,
etmq              288 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 	cs_etm__etmq_set_traceid_queue_timestamp(etmq, trace_chan_id);
etmq              294 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c cs_etm_decoder__do_hard_timestamp(struct cs_etm_queue *etmq,
etmq              301 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 	packet_queue = cs_etm__etmq_get_packet_queue(etmq, trace_chan_id);
etmq              327 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 	cs_etm__etmq_set_traceid_queue_timestamp(etmq, trace_chan_id);
etmq              382 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c cs_etm_decoder__buffer_range(struct cs_etm_queue *etmq,
etmq              439 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 	if (cs_etm__etmq_is_timeless(etmq))
etmq              452 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 	ret = cs_etm_decoder__do_soft_timestamp(etmq, packet_queue,
etmq              498 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c cs_etm_decoder__set_tid(struct cs_etm_queue *etmq,
etmq              510 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 	if (cs_etm__etmq_set_tid(etmq, tid, trace_chan_id))
etmq              530 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 	struct cs_etm_queue *etmq = decoder->data;
etmq              534 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 	packet_queue = cs_etm__etmq_get_packet_queue(etmq, trace_chan_id);
etmq              548 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 		resp = cs_etm_decoder__buffer_range(etmq, packet_queue, elem,
etmq              560 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 		resp = cs_etm_decoder__do_hard_timestamp(etmq, elem,
etmq              564 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c 		resp = cs_etm_decoder__set_tid(etmq, packet_queue,
etmq              101 tools/perf/util/cs-etm.c static int cs_etm__get_data_block(struct cs_etm_queue *etmq);
etmq              102 tools/perf/util/cs-etm.c static int cs_etm__decode_data_block(struct cs_etm_queue *etmq);
etmq              156 tools/perf/util/cs-etm.c void cs_etm__etmq_set_traceid_queue_timestamp(struct cs_etm_queue *etmq,
etmq              166 tools/perf/util/cs-etm.c 	etmq->pending_timestamp = trace_chan_id;
etmq              169 tools/perf/util/cs-etm.c static u64 cs_etm__etmq_get_timestamp(struct cs_etm_queue *etmq,
etmq              174 tools/perf/util/cs-etm.c 	if (!etmq->pending_timestamp)
etmq              178 tools/perf/util/cs-etm.c 		*trace_chan_id = etmq->pending_timestamp;
etmq              180 tools/perf/util/cs-etm.c 	packet_queue = cs_etm__etmq_get_packet_queue(etmq,
etmq              181 tools/perf/util/cs-etm.c 						     etmq->pending_timestamp);
etmq              186 tools/perf/util/cs-etm.c 	etmq->pending_timestamp = 0;
etmq              216 tools/perf/util/cs-etm.c static void cs_etm__clear_all_packet_queues(struct cs_etm_queue *etmq)
etmq              221 tools/perf/util/cs-etm.c 	struct intlist *traceid_queues_list = etmq->traceid_queues_list;
etmq              225 tools/perf/util/cs-etm.c 		tidq = etmq->traceid_queues[idx];
etmq              230 tools/perf/util/cs-etm.c static int cs_etm__init_traceid_queue(struct cs_etm_queue *etmq,
etmq              236 tools/perf/util/cs-etm.c 	struct cs_etm_auxtrace *etm = etmq->etm;
etmq              240 tools/perf/util/cs-etm.c 	queue = &etmq->etm->queues.queue_array[etmq->queue_nr];
etmq              282 tools/perf/util/cs-etm.c *cs_etm__etmq_get_traceid_queue(struct cs_etm_queue *etmq, u8 trace_chan_id)
etmq              288 tools/perf/util/cs-etm.c 	struct cs_etm_auxtrace *etm = etmq->etm;
etmq              293 tools/perf/util/cs-etm.c 	traceid_queues_list = etmq->traceid_queues_list;
etmq              302 tools/perf/util/cs-etm.c 		return etmq->traceid_queues[idx];
etmq              322 tools/perf/util/cs-etm.c 	if (cs_etm__init_traceid_queue(etmq, tidq, trace_chan_id))
etmq              326 tools/perf/util/cs-etm.c 	traceid_queues = etmq->traceid_queues;
etmq              339 tools/perf/util/cs-etm.c 	etmq->traceid_queues = traceid_queues;
etmq              341 tools/perf/util/cs-etm.c 	return etmq->traceid_queues[idx];
etmq              355 tools/perf/util/cs-etm.c *cs_etm__etmq_get_packet_queue(struct cs_etm_queue *etmq, u8 trace_chan_id)
etmq              359 tools/perf/util/cs-etm.c 	tidq = cs_etm__etmq_get_traceid_queue(etmq, trace_chan_id);
etmq              431 tools/perf/util/cs-etm.c 				       struct cs_etm_queue *etmq,
etmq              441 tools/perf/util/cs-etm.c 	d_params->data = etmq;
etmq              528 tools/perf/util/cs-etm.c static void cs_etm__free_traceid_queues(struct cs_etm_queue *etmq)
etmq              534 tools/perf/util/cs-etm.c 	struct intlist *traceid_queues_list = etmq->traceid_queues_list;
etmq              541 tools/perf/util/cs-etm.c 		tidq = etmq->traceid_queues[idx];
etmq              559 tools/perf/util/cs-etm.c 	etmq->traceid_queues_list = NULL;
etmq              562 tools/perf/util/cs-etm.c 	zfree(&etmq->traceid_queues);
etmq              567 tools/perf/util/cs-etm.c 	struct cs_etm_queue *etmq = priv;
etmq              569 tools/perf/util/cs-etm.c 	if (!etmq)
etmq              572 tools/perf/util/cs-etm.c 	cs_etm_decoder__free(etmq->decoder);
etmq              573 tools/perf/util/cs-etm.c 	cs_etm__free_traceid_queues(etmq);
etmq              574 tools/perf/util/cs-etm.c 	free(etmq);
etmq              617 tools/perf/util/cs-etm.c static u8 cs_etm__cpu_mode(struct cs_etm_queue *etmq, u64 address)
etmq              621 tools/perf/util/cs-etm.c 	machine = etmq->etm->machine;
etmq              623 tools/perf/util/cs-etm.c 	if (address >= etmq->etm->kernel_start) {
etmq              638 tools/perf/util/cs-etm.c static u32 cs_etm__mem_access(struct cs_etm_queue *etmq, u8 trace_chan_id,
etmq              649 tools/perf/util/cs-etm.c 	if (!etmq)
etmq              652 tools/perf/util/cs-etm.c 	machine = etmq->etm->machine;
etmq              653 tools/perf/util/cs-etm.c 	cpumode = cs_etm__cpu_mode(etmq, address);
etmq              654 tools/perf/util/cs-etm.c 	tidq = cs_etm__etmq_get_traceid_queue(etmq, trace_chan_id);
etmq              662 tools/perf/util/cs-etm.c 		thread = etmq->etm->unknown_thread;
etmq              688 tools/perf/util/cs-etm.c 	struct cs_etm_queue *etmq;
etmq              690 tools/perf/util/cs-etm.c 	etmq = zalloc(sizeof(*etmq));
etmq              691 tools/perf/util/cs-etm.c 	if (!etmq)
etmq              694 tools/perf/util/cs-etm.c 	etmq->traceid_queues_list = intlist__new(NULL);
etmq              695 tools/perf/util/cs-etm.c 	if (!etmq->traceid_queues_list)
etmq              708 tools/perf/util/cs-etm.c 	if (cs_etm__init_decoder_params(&d_params, etmq,
etmq              712 tools/perf/util/cs-etm.c 	etmq->decoder = cs_etm_decoder__new(etm->num_cpu, &d_params, t_params);
etmq              714 tools/perf/util/cs-etm.c 	if (!etmq->decoder)
etmq              721 tools/perf/util/cs-etm.c 	if (cs_etm_decoder__add_mem_access_cb(etmq->decoder,
etmq              727 tools/perf/util/cs-etm.c 	return etmq;
etmq              730 tools/perf/util/cs-etm.c 	cs_etm_decoder__free(etmq->decoder);
etmq              732 tools/perf/util/cs-etm.c 	intlist__delete(etmq->traceid_queues_list);
etmq              733 tools/perf/util/cs-etm.c 	free(etmq);
etmq              746 tools/perf/util/cs-etm.c 	struct cs_etm_queue *etmq = queue->priv;
etmq              748 tools/perf/util/cs-etm.c 	if (list_empty(&queue->head) || etmq)
etmq              751 tools/perf/util/cs-etm.c 	etmq = cs_etm__alloc_queue(etm);
etmq              753 tools/perf/util/cs-etm.c 	if (!etmq) {
etmq              758 tools/perf/util/cs-etm.c 	queue->priv = etmq;
etmq              759 tools/perf/util/cs-etm.c 	etmq->etm = etm;
etmq              760 tools/perf/util/cs-etm.c 	etmq->queue_nr = queue_nr;
etmq              761 tools/perf/util/cs-etm.c 	etmq->offset = 0;
etmq              779 tools/perf/util/cs-etm.c 		ret = cs_etm__get_data_block(etmq);
etmq              788 tools/perf/util/cs-etm.c 		ret = cs_etm__decode_data_block(etmq);
etmq              796 tools/perf/util/cs-etm.c 		timestamp = cs_etm__etmq_get_timestamp(etmq, &trace_chan_id);
etmq              809 tools/perf/util/cs-etm.c 		cs_etm__clear_all_packet_queues(etmq);
etmq              856 tools/perf/util/cs-etm.c void cs_etm__copy_last_branch_rb(struct cs_etm_queue *etmq,
etmq              880 tools/perf/util/cs-etm.c 	nr = etmq->etm->synth_opts.last_branch_sz - tidq->last_branch_pos;
etmq              892 tools/perf/util/cs-etm.c 	if (bs_src->nr >= etmq->etm->synth_opts.last_branch_sz) {
etmq              906 tools/perf/util/cs-etm.c static inline int cs_etm__t32_instr_size(struct cs_etm_queue *etmq,
etmq              911 tools/perf/util/cs-etm.c 	cs_etm__mem_access(etmq, trace_chan_id, addr,
etmq              940 tools/perf/util/cs-etm.c static inline u64 cs_etm__instr_addr(struct cs_etm_queue *etmq,
etmq              949 tools/perf/util/cs-etm.c 			addr += cs_etm__t32_instr_size(etmq,
etmq              960 tools/perf/util/cs-etm.c static void cs_etm__update_last_branch_rb(struct cs_etm_queue *etmq,
etmq              973 tools/perf/util/cs-etm.c 		tidq->last_branch_pos = etmq->etm->synth_opts.last_branch_sz;
etmq              988 tools/perf/util/cs-etm.c 	if (bs->nr < etmq->etm->synth_opts.last_branch_sz)
etmq             1001 tools/perf/util/cs-etm.c cs_etm__get_trace(struct cs_etm_queue *etmq)
etmq             1003 tools/perf/util/cs-etm.c 	struct auxtrace_buffer *aux_buffer = etmq->buffer;
etmq             1007 tools/perf/util/cs-etm.c 	queue = &etmq->etm->queues.queue_array[etmq->queue_nr];
etmq             1015 tools/perf/util/cs-etm.c 		etmq->buf_len = 0;
etmq             1019 tools/perf/util/cs-etm.c 	etmq->buffer = aux_buffer;
etmq             1024 tools/perf/util/cs-etm.c 		int fd = perf_data__fd(etmq->etm->session->data);
etmq             1035 tools/perf/util/cs-etm.c 	etmq->buf_used = 0;
etmq             1036 tools/perf/util/cs-etm.c 	etmq->buf_len = aux_buffer->size;
etmq             1037 tools/perf/util/cs-etm.c 	etmq->buf = aux_buffer->data;
etmq             1039 tools/perf/util/cs-etm.c 	return etmq->buf_len;
etmq             1053 tools/perf/util/cs-etm.c int cs_etm__etmq_set_tid(struct cs_etm_queue *etmq,
etmq             1057 tools/perf/util/cs-etm.c 	struct cs_etm_auxtrace *etm = etmq->etm;
etmq             1060 tools/perf/util/cs-etm.c 	tidq = cs_etm__etmq_get_traceid_queue(etmq, trace_chan_id);
etmq             1078 tools/perf/util/cs-etm.c bool cs_etm__etmq_is_timeless(struct cs_etm_queue *etmq)
etmq             1080 tools/perf/util/cs-etm.c 	return !!etmq->etm->timeless_decoding;
etmq             1083 tools/perf/util/cs-etm.c static void cs_etm__copy_insn(struct cs_etm_queue *etmq,
etmq             1102 tools/perf/util/cs-etm.c 		sample->insn_len = cs_etm__t32_instr_size(etmq, trace_chan_id,
etmq             1108 tools/perf/util/cs-etm.c 	cs_etm__mem_access(etmq, trace_chan_id, sample->ip,
etmq             1112 tools/perf/util/cs-etm.c static int cs_etm__synth_instruction_sample(struct cs_etm_queue *etmq,
etmq             1117 tools/perf/util/cs-etm.c 	struct cs_etm_auxtrace *etm = etmq->etm;
etmq             1122 tools/perf/util/cs-etm.c 	event->sample.header.misc = cs_etm__cpu_mode(etmq, addr);
etmq             1128 tools/perf/util/cs-etm.c 	sample.id = etmq->etm->instructions_id;
etmq             1129 tools/perf/util/cs-etm.c 	sample.stream_id = etmq->etm->instructions_id;
etmq             1135 tools/perf/util/cs-etm.c 	cs_etm__copy_insn(etmq, tidq->trace_chan_id, tidq->packet, &sample);
etmq             1138 tools/perf/util/cs-etm.c 		cs_etm__copy_last_branch_rb(etmq, tidq);
etmq             1166 tools/perf/util/cs-etm.c static int cs_etm__synth_branch_sample(struct cs_etm_queue *etmq,
etmq             1170 tools/perf/util/cs-etm.c 	struct cs_etm_auxtrace *etm = etmq->etm;
etmq             1182 tools/perf/util/cs-etm.c 	event->sample.header.misc = cs_etm__cpu_mode(etmq, ip);
etmq             1189 tools/perf/util/cs-etm.c 	sample.id = etmq->etm->branches_id;
etmq             1190 tools/perf/util/cs-etm.c 	sample.stream_id = etmq->etm->branches_id;
etmq             1196 tools/perf/util/cs-etm.c 	cs_etm__copy_insn(etmq, tidq->trace_chan_id, tidq->prev_packet,
etmq             1339 tools/perf/util/cs-etm.c static int cs_etm__sample(struct cs_etm_queue *etmq,
etmq             1342 tools/perf/util/cs-etm.c 	struct cs_etm_auxtrace *etm = etmq->etm;
etmq             1357 tools/perf/util/cs-etm.c 		cs_etm__update_last_branch_rb(etmq, tidq);
etmq             1376 tools/perf/util/cs-etm.c 		u64 addr = cs_etm__instr_addr(etmq, trace_chan_id,
etmq             1380 tools/perf/util/cs-etm.c 			etmq, tidq, addr, etm->instructions_sample_period);
etmq             1401 tools/perf/util/cs-etm.c 			ret = cs_etm__synth_branch_sample(etmq, tidq);
etmq             1439 tools/perf/util/cs-etm.c static int cs_etm__flush(struct cs_etm_queue *etmq,
etmq             1443 tools/perf/util/cs-etm.c 	struct cs_etm_auxtrace *etm = etmq->etm;
etmq             1450 tools/perf/util/cs-etm.c 	if (etmq->etm->synth_opts.last_branch &&
etmq             1462 tools/perf/util/cs-etm.c 			etmq, tidq, addr,
etmq             1473 tools/perf/util/cs-etm.c 		err = cs_etm__synth_branch_sample(etmq, tidq);
etmq             1492 tools/perf/util/cs-etm.c static int cs_etm__end_block(struct cs_etm_queue *etmq,
etmq             1506 tools/perf/util/cs-etm.c 	if (etmq->etm->synth_opts.last_branch &&
etmq             1515 tools/perf/util/cs-etm.c 			etmq, tidq, addr,
etmq             1532 tools/perf/util/cs-etm.c static int cs_etm__get_data_block(struct cs_etm_queue *etmq)
etmq             1536 tools/perf/util/cs-etm.c 	if (!etmq->buf_len) {
etmq             1537 tools/perf/util/cs-etm.c 		ret = cs_etm__get_trace(etmq);
etmq             1544 tools/perf/util/cs-etm.c 		ret = cs_etm_decoder__reset(etmq->decoder);
etmq             1549 tools/perf/util/cs-etm.c 	return etmq->buf_len;
etmq             1552 tools/perf/util/cs-etm.c static bool cs_etm__is_svc_instr(struct cs_etm_queue *etmq, u8 trace_chan_id,
etmq             1576 tools/perf/util/cs-etm.c 		cs_etm__mem_access(etmq, trace_chan_id, addr,
etmq             1592 tools/perf/util/cs-etm.c 		cs_etm__mem_access(etmq, trace_chan_id, addr,
etmq             1609 tools/perf/util/cs-etm.c 		cs_etm__mem_access(etmq, trace_chan_id, addr,
etmq             1623 tools/perf/util/cs-etm.c static bool cs_etm__is_syscall(struct cs_etm_queue *etmq,
etmq             1641 tools/perf/util/cs-etm.c 		    cs_etm__is_svc_instr(etmq, trace_chan_id, prev_packet,
etmq             1675 tools/perf/util/cs-etm.c static bool cs_etm__is_sync_exception(struct cs_etm_queue *etmq,
etmq             1705 tools/perf/util/cs-etm.c 		    !cs_etm__is_svc_instr(etmq, trace_chan_id, prev_packet,
etmq             1724 tools/perf/util/cs-etm.c static int cs_etm__set_sample_flags(struct cs_etm_queue *etmq,
etmq             1810 tools/perf/util/cs-etm.c 		    cs_etm__is_svc_instr(etmq, trace_chan_id,
etmq             1832 tools/perf/util/cs-etm.c 		if (cs_etm__is_syscall(etmq, tidq, magic))
etmq             1849 tools/perf/util/cs-etm.c 		else if (cs_etm__is_sync_exception(etmq, tidq, magic))
etmq             1903 tools/perf/util/cs-etm.c static int cs_etm__decode_data_block(struct cs_etm_queue *etmq)
etmq             1915 tools/perf/util/cs-etm.c 	ret = cs_etm_decoder__process_data_block(etmq->decoder,
etmq             1916 tools/perf/util/cs-etm.c 						 etmq->offset,
etmq             1917 tools/perf/util/cs-etm.c 						 &etmq->buf[etmq->buf_used],
etmq             1918 tools/perf/util/cs-etm.c 						 etmq->buf_len,
etmq             1923 tools/perf/util/cs-etm.c 	etmq->offset += processed;
etmq             1924 tools/perf/util/cs-etm.c 	etmq->buf_used += processed;
etmq             1925 tools/perf/util/cs-etm.c 	etmq->buf_len -= processed;
etmq             1931 tools/perf/util/cs-etm.c static int cs_etm__process_traceid_queue(struct cs_etm_queue *etmq,
etmq             1957 tools/perf/util/cs-etm.c 		ret = cs_etm__set_sample_flags(etmq, tidq);
etmq             1968 tools/perf/util/cs-etm.c 			cs_etm__sample(etmq, tidq);
etmq             1984 tools/perf/util/cs-etm.c 			cs_etm__flush(etmq, tidq);
etmq             2001 tools/perf/util/cs-etm.c static void cs_etm__clear_all_traceid_queues(struct cs_etm_queue *etmq)
etmq             2006 tools/perf/util/cs-etm.c 	struct intlist *traceid_queues_list = etmq->traceid_queues_list;
etmq             2010 tools/perf/util/cs-etm.c 		tidq = etmq->traceid_queues[idx];
etmq             2013 tools/perf/util/cs-etm.c 		cs_etm__process_traceid_queue(etmq, tidq);
etmq             2019 tools/perf/util/cs-etm.c 		cs_etm__flush(etmq, tidq);
etmq             2023 tools/perf/util/cs-etm.c static int cs_etm__run_decoder(struct cs_etm_queue *etmq)
etmq             2028 tools/perf/util/cs-etm.c 	tidq = cs_etm__etmq_get_traceid_queue(etmq, CS_ETM_PER_THREAD_TRACEID);
etmq             2034 tools/perf/util/cs-etm.c 		err = cs_etm__get_data_block(etmq);
etmq             2040 tools/perf/util/cs-etm.c 			err = cs_etm__decode_data_block(etmq);
etmq             2049 tools/perf/util/cs-etm.c 			err = cs_etm__process_traceid_queue(etmq, tidq);
etmq             2051 tools/perf/util/cs-etm.c 		} while (etmq->buf_len);
etmq             2055 tools/perf/util/cs-etm.c 			err = cs_etm__end_block(etmq, tidq);
etmq             2069 tools/perf/util/cs-etm.c 		struct cs_etm_queue *etmq = queue->priv;
etmq             2072 tools/perf/util/cs-etm.c 		if (!etmq)
etmq             2075 tools/perf/util/cs-etm.c 		tidq = cs_etm__etmq_get_traceid_queue(etmq,
etmq             2083 tools/perf/util/cs-etm.c 			cs_etm__run_decoder(etmq);
etmq             2097 tools/perf/util/cs-etm.c 	struct cs_etm_queue *etmq;
etmq             2109 tools/perf/util/cs-etm.c 		etmq = queue->priv;
etmq             2117 tools/perf/util/cs-etm.c 		tidq  = cs_etm__etmq_get_traceid_queue(etmq, trace_chan_id);
etmq             2132 tools/perf/util/cs-etm.c 		ret = cs_etm__process_traceid_queue(etmq, tidq);
etmq             2142 tools/perf/util/cs-etm.c 		ret = cs_etm__get_data_block(etmq);
etmq             2153 tools/perf/util/cs-etm.c 		ret = cs_etm__decode_data_block(etmq);
etmq             2157 tools/perf/util/cs-etm.c 		timestamp = cs_etm__etmq_get_timestamp(etmq, &trace_chan_id);
etmq             2169 tools/perf/util/cs-etm.c 			cs_etm__clear_all_traceid_queues(etmq);
etmq              179 tools/perf/util/cs-etm.h int cs_etm__etmq_set_tid(struct cs_etm_queue *etmq,
etmq              181 tools/perf/util/cs-etm.h bool cs_etm__etmq_is_timeless(struct cs_etm_queue *etmq);
etmq              182 tools/perf/util/cs-etm.h void cs_etm__etmq_set_traceid_queue_timestamp(struct cs_etm_queue *etmq,
etmq              185 tools/perf/util/cs-etm.h *cs_etm__etmq_get_packet_queue(struct cs_etm_queue *etmq, u8 trace_chan_id);
etmq              201 tools/perf/util/cs-etm.h 				struct cs_etm_queue *etmq __maybe_unused,
etmq              209 tools/perf/util/cs-etm.h 				struct cs_etm_queue *etmq __maybe_unused)
etmq              216 tools/perf/util/cs-etm.h 				struct cs_etm_queue *etmq __maybe_unused,
etmq              220 tools/perf/util/cs-etm.h 				struct cs_etm_queue *etmq __maybe_unused,