Lines Matching refs:ptr

241 	struct intel_pt_recording *ptr =  in intel_pt_parse_snapshot_options()  local
255 ptr->snapshot_size = snapshot_size; in intel_pt_parse_snapshot_options()
295 struct intel_pt_recording *ptr = in intel_pt_info_fill() local
297 struct perf_pmu *intel_pt_pmu = ptr->intel_pt_pmu; in intel_pt_info_fill()
344 auxtrace_info->priv[INTEL_PT_HAVE_SCHED_SWITCH] = ptr->have_sched_switch; in intel_pt_info_fill()
345 auxtrace_info->priv[INTEL_PT_SNAPSHOT_MODE] = ptr->snapshot_mode; in intel_pt_info_fill()
499 struct intel_pt_recording *ptr = in intel_pt_recording_options() local
501 struct perf_pmu *intel_pt_pmu = ptr->intel_pt_pmu; in intel_pt_recording_options()
509 ptr->evlist = evlist; in intel_pt_recording_options()
510 ptr->snapshot_mode = opts->auxtrace_snapshot_mode; in intel_pt_recording_options()
653 ptr->have_sched_switch = 3; in intel_pt_recording_options()
657 ptr->have_sched_switch = 3; in intel_pt_recording_options()
659 ptr->have_sched_switch = 2; in intel_pt_recording_options()
668 ptr->have_sched_switch = 1; in intel_pt_recording_options()
713 if (!ptr->have_sched_switch && !cpu_map__empty(cpus) && in intel_pt_recording_options()
722 struct intel_pt_recording *ptr = in intel_pt_snapshot_start() local
726 evlist__for_each(ptr->evlist, evsel) { in intel_pt_snapshot_start()
727 if (evsel->attr.type == ptr->intel_pt_pmu->type) in intel_pt_snapshot_start()
728 return perf_evlist__disable_event(ptr->evlist, evsel); in intel_pt_snapshot_start()
735 struct intel_pt_recording *ptr = in intel_pt_snapshot_finish() local
739 evlist__for_each(ptr->evlist, evsel) { in intel_pt_snapshot_finish()
740 if (evsel->attr.type == ptr->intel_pt_pmu->type) in intel_pt_snapshot_finish()
741 return perf_evlist__enable_event(ptr->evlist, evsel); in intel_pt_snapshot_finish()
746 static int intel_pt_alloc_snapshot_refs(struct intel_pt_recording *ptr, int idx) in intel_pt_alloc_snapshot_refs() argument
749 int cnt = ptr->snapshot_ref_cnt, new_cnt = cnt * 2; in intel_pt_alloc_snapshot_refs()
762 memcpy(refs, ptr->snapshot_refs, cnt * sz); in intel_pt_alloc_snapshot_refs()
764 ptr->snapshot_refs = refs; in intel_pt_alloc_snapshot_refs()
765 ptr->snapshot_ref_cnt = new_cnt; in intel_pt_alloc_snapshot_refs()
770 static void intel_pt_free_snapshot_refs(struct intel_pt_recording *ptr) in intel_pt_free_snapshot_refs() argument
774 for (i = 0; i < ptr->snapshot_ref_cnt; i++) in intel_pt_free_snapshot_refs()
775 zfree(&ptr->snapshot_refs[i].ref_buf); in intel_pt_free_snapshot_refs()
776 zfree(&ptr->snapshot_refs); in intel_pt_free_snapshot_refs()
781 struct intel_pt_recording *ptr = in intel_pt_recording_free() local
784 intel_pt_free_snapshot_refs(ptr); in intel_pt_recording_free()
785 free(ptr); in intel_pt_recording_free()
788 static int intel_pt_alloc_snapshot_ref(struct intel_pt_recording *ptr, int idx, in intel_pt_alloc_snapshot_ref() argument
791 size_t ref_buf_size = ptr->snapshot_ref_buf_size; in intel_pt_alloc_snapshot_ref()
798 ptr->snapshot_refs[idx].ref_buf = ref_buf; in intel_pt_alloc_snapshot_ref()
799 ptr->snapshot_refs[idx].ref_offset = snapshot_buf_size - ref_buf_size; in intel_pt_alloc_snapshot_ref()
804 static size_t intel_pt_snapshot_ref_buf_size(struct intel_pt_recording *ptr, in intel_pt_snapshot_ref_buf_size() argument
810 if (ptr->snapshot_size <= 64 * 1024) in intel_pt_snapshot_ref_buf_size()
813 psb_period = intel_pt_psb_period(ptr->intel_pt_pmu, ptr->evlist); in intel_pt_snapshot_ref_buf_size()
823 if (buf_size >= ptr->snapshot_size / 2) in intel_pt_snapshot_ref_buf_size()
829 static int intel_pt_snapshot_init(struct intel_pt_recording *ptr, in intel_pt_snapshot_init() argument
832 if (ptr->snapshot_init_done) in intel_pt_snapshot_init()
835 ptr->snapshot_init_done = true; in intel_pt_snapshot_init()
837 ptr->snapshot_ref_buf_size = intel_pt_snapshot_ref_buf_size(ptr, in intel_pt_snapshot_init()
902 static bool intel_pt_wrapped(struct intel_pt_recording *ptr, int idx, in intel_pt_wrapped() argument
906 struct intel_pt_snapshot_ref *ref = &ptr->snapshot_refs[idx]; in intel_pt_wrapped()
910 ptr->snapshot_ref_buf_size, mm->len, in intel_pt_wrapped()
913 intel_pt_copy_ref(ref->ref_buf, ptr->snapshot_ref_buf_size, mm->len, in intel_pt_wrapped()
940 struct intel_pt_recording *ptr = in intel_pt_find_snapshot() local
948 err = intel_pt_snapshot_init(ptr, mm->len); in intel_pt_find_snapshot()
952 if (idx >= ptr->snapshot_ref_cnt) { in intel_pt_find_snapshot()
953 err = intel_pt_alloc_snapshot_refs(ptr, idx); in intel_pt_find_snapshot()
958 if (ptr->snapshot_ref_buf_size) { in intel_pt_find_snapshot()
959 if (!ptr->snapshot_refs[idx].ref_buf) { in intel_pt_find_snapshot()
960 err = intel_pt_alloc_snapshot_ref(ptr, idx, mm->len); in intel_pt_find_snapshot()
964 wrapped = intel_pt_wrapped(ptr, idx, mm, data, *head); in intel_pt_find_snapshot()
966 wrapped = ptr->snapshot_refs[idx].wrapped; in intel_pt_find_snapshot()
968 ptr->snapshot_refs[idx].wrapped = true; in intel_pt_find_snapshot()
1008 struct intel_pt_recording *ptr = in intel_pt_read_finish() local
1012 evlist__for_each(ptr->evlist, evsel) { in intel_pt_read_finish()
1013 if (evsel->attr.type == ptr->intel_pt_pmu->type) in intel_pt_read_finish()
1014 return perf_evlist__enable_event_idx(ptr->evlist, evsel, in intel_pt_read_finish()
1023 struct intel_pt_recording *ptr; in intel_pt_recording_init() local
1028 ptr = zalloc(sizeof(struct intel_pt_recording)); in intel_pt_recording_init()
1029 if (!ptr) { in intel_pt_recording_init()
1034 ptr->intel_pt_pmu = intel_pt_pmu; in intel_pt_recording_init()
1035 ptr->itr.recording_options = intel_pt_recording_options; in intel_pt_recording_init()
1036 ptr->itr.info_priv_size = intel_pt_info_priv_size; in intel_pt_recording_init()
1037 ptr->itr.info_fill = intel_pt_info_fill; in intel_pt_recording_init()
1038 ptr->itr.free = intel_pt_recording_free; in intel_pt_recording_init()
1039 ptr->itr.snapshot_start = intel_pt_snapshot_start; in intel_pt_recording_init()
1040 ptr->itr.snapshot_finish = intel_pt_snapshot_finish; in intel_pt_recording_init()
1041 ptr->itr.find_snapshot = intel_pt_find_snapshot; in intel_pt_recording_init()
1042 ptr->itr.parse_snapshot_options = intel_pt_parse_snapshot_options; in intel_pt_recording_init()
1043 ptr->itr.reference = intel_pt_reference; in intel_pt_recording_init()
1044 ptr->itr.read_finish = intel_pt_read_finish; in intel_pt_recording_init()
1045 return &ptr->itr; in intel_pt_recording_init()