Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / tools / perf / util / tsc.h
blob57ce8449647f76cc2803b9bfaa706a5b349a958c
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __PERF_TSC_H
3 #define __PERF_TSC_H
5 #include <linux/types.h>
7 #include "event.h"
9 struct perf_tsc_conversion {
10 u16 time_shift;
11 u32 time_mult;
12 u64 time_zero;
13 u64 time_cycles;
14 u64 time_mask;
16 bool cap_user_time_zero;
17 bool cap_user_time_short;
20 struct perf_event_mmap_page;
22 int perf_read_tsc_conversion(const struct perf_event_mmap_page *pc,
23 struct perf_tsc_conversion *tc);
25 u64 perf_time_to_tsc(u64 ns, struct perf_tsc_conversion *tc);
26 u64 tsc_to_perf_time(u64 cyc, struct perf_tsc_conversion *tc);
27 u64 rdtsc(void);
28 u64 arch_get_tsc_freq(void);
30 size_t perf_event__fprintf_time_conv(union perf_event *event, FILE *fp);
32 #endif // __PERF_TSC_H