Lines Matching refs:record
281 struct arm_spe_record *record = &speq->decoder->record; in arm_spe_prep_sample() local
284 sample->time = tsc_to_perf_time(record->timestamp, &spe->tc); in arm_spe_prep_sample()
286 sample->ip = record->from_ip; in arm_spe_prep_sample()
329 struct arm_spe_record *record = &speq->decoder->record; in arm_spe__synth_mem_sample() local
337 sample.addr = record->virt_addr; in arm_spe__synth_mem_sample()
338 sample.phys_addr = record->phys_addr; in arm_spe__synth_mem_sample()
340 sample.weight = record->latency; in arm_spe__synth_mem_sample()
349 struct arm_spe_record *record = &speq->decoder->record; in arm_spe__synth_branch_sample() local
357 sample.addr = record->to_ip; in arm_spe__synth_branch_sample()
358 sample.weight = record->latency; in arm_spe__synth_branch_sample()
367 struct arm_spe_record *record = &speq->decoder->record; in arm_spe__synth_instruction_sample() local
383 sample.addr = record->virt_addr; in arm_spe__synth_instruction_sample()
384 sample.phys_addr = record->phys_addr; in arm_spe__synth_instruction_sample()
387 sample.weight = record->latency; in arm_spe__synth_instruction_sample()
399 static void arm_spe__synth_data_source_neoverse(const struct arm_spe_record *record, in arm_spe__synth_data_source_neoverse() argument
414 if (record->op & ARM_SPE_ST) { in arm_spe__synth_data_source_neoverse()
421 switch (record->source) { in arm_spe__synth_data_source_neoverse()
475 static void arm_spe__synth_data_source_generic(const struct arm_spe_record *record, in arm_spe__synth_data_source_generic() argument
478 if (record->type & (ARM_SPE_LLC_ACCESS | ARM_SPE_LLC_MISS)) { in arm_spe__synth_data_source_generic()
481 if (record->type & ARM_SPE_LLC_MISS) in arm_spe__synth_data_source_generic()
485 } else if (record->type & (ARM_SPE_L1D_ACCESS | ARM_SPE_L1D_MISS)) { in arm_spe__synth_data_source_generic()
488 if (record->type & ARM_SPE_L1D_MISS) in arm_spe__synth_data_source_generic()
494 if (record->type & ARM_SPE_REMOTE_ACCESS) in arm_spe__synth_data_source_generic()
498 static u64 arm_spe__synth_data_source(const struct arm_spe_record *record, u64 midr) in arm_spe__synth_data_source() argument
503 if (record->op == ARM_SPE_LD) in arm_spe__synth_data_source()
505 else if (record->op == ARM_SPE_ST) in arm_spe__synth_data_source()
511 arm_spe__synth_data_source_neoverse(record, &data_src); in arm_spe__synth_data_source()
513 arm_spe__synth_data_source_generic(record, &data_src); in arm_spe__synth_data_source()
515 if (record->type & (ARM_SPE_TLB_ACCESS | ARM_SPE_TLB_MISS)) { in arm_spe__synth_data_source()
518 if (record->type & ARM_SPE_TLB_MISS) in arm_spe__synth_data_source()
529 const struct arm_spe_record *record = &speq->decoder->record; in arm_spe_sample() local
534 data_src = arm_spe__synth_data_source(record, spe->midr); in arm_spe_sample()
537 if (record->type & ARM_SPE_L1D_MISS) { in arm_spe_sample()
544 if (record->type & ARM_SPE_L1D_ACCESS) { in arm_spe_sample()
553 if (record->type & ARM_SPE_LLC_MISS) { in arm_spe_sample()
560 if (record->type & ARM_SPE_LLC_ACCESS) { in arm_spe_sample()
569 if (record->type & ARM_SPE_TLB_MISS) { in arm_spe_sample()
576 if (record->type & ARM_SPE_TLB_ACCESS) { in arm_spe_sample()
584 if (spe->sample_branch && (record->type & ARM_SPE_BRANCH_MISS)) { in arm_spe_sample()
591 (record->type & ARM_SPE_REMOTE_ACCESS)) { in arm_spe_sample()
620 struct arm_spe_record *record; in arm_spe_run_decoder() local
650 record = &speq->decoder->record; in arm_spe_run_decoder()
651 if (!spe->timeless_decoding && record->context_id != (u64)-1) { in arm_spe_run_decoder()
652 ret = arm_spe_set_tid(speq, record->context_id); in arm_spe_run_decoder()
676 record = &speq->decoder->record; in arm_spe_run_decoder()
679 if (record->timestamp > speq->timestamp) in arm_spe_run_decoder()
680 speq->timestamp = record->timestamp; in arm_spe_run_decoder()
701 struct arm_spe_record *record; in arm_spe__setup_queue() local
731 record = &speq->decoder->record; in arm_spe__setup_queue()
733 speq->timestamp = record->timestamp; in arm_spe__setup_queue()