Lines Matching +full:counter +full:- +full:1
1 // SPDX-License-Identifier: GPL-2.0
37 * - different performance counters/ event selection may be reserved for
47 /* returns the bit offset of the performance counter register */ in nmi_perfctr_msr_to_bit()
52 return (msr - MSR_F15H_PERF_CTR) >> 1; in nmi_perfctr_msr_to_bit()
53 return msr - MSR_K7_PERFCTR0; in nmi_perfctr_msr_to_bit()
56 return msr - MSR_ARCH_PERFMON_PERFCTR0; in nmi_perfctr_msr_to_bit()
60 return msr - MSR_P6_PERFCTR0; in nmi_perfctr_msr_to_bit()
62 return msr - MSR_KNC_PERFCTR0; in nmi_perfctr_msr_to_bit()
64 return msr - MSR_P4_BPU_PERFCTR0; in nmi_perfctr_msr_to_bit()
69 return msr - MSR_ARCH_PERFMON_PERFCTR0; in nmi_perfctr_msr_to_bit()
85 return (msr - MSR_F15H_PERF_CTL) >> 1; in nmi_evntsel_msr_to_bit()
86 return msr - MSR_K7_EVNTSEL0; in nmi_evntsel_msr_to_bit()
89 return msr - MSR_ARCH_PERFMON_EVENTSEL0; in nmi_evntsel_msr_to_bit()
93 return msr - MSR_P6_EVNTSEL0; in nmi_evntsel_msr_to_bit()
95 return msr - MSR_KNC_EVNTSEL0; in nmi_evntsel_msr_to_bit()
97 return msr - MSR_P4_BSU_ESCR0; in nmi_evntsel_msr_to_bit()
102 return msr - MSR_ARCH_PERFMON_EVENTSEL0; in nmi_evntsel_msr_to_bit()
110 unsigned int counter; in reserve_perfctr_nmi() local
112 counter = nmi_perfctr_msr_to_bit(msr); in reserve_perfctr_nmi()
114 if (counter > NMI_MAX_COUNTER_BITS) in reserve_perfctr_nmi()
115 return 1; in reserve_perfctr_nmi()
117 if (!test_and_set_bit(counter, perfctr_nmi_owner)) in reserve_perfctr_nmi()
118 return 1; in reserve_perfctr_nmi()
125 unsigned int counter; in release_perfctr_nmi() local
127 counter = nmi_perfctr_msr_to_bit(msr); in release_perfctr_nmi()
129 if (counter > NMI_MAX_COUNTER_BITS) in release_perfctr_nmi()
132 clear_bit(counter, perfctr_nmi_owner); in release_perfctr_nmi()
138 unsigned int counter; in reserve_evntsel_nmi() local
140 counter = nmi_evntsel_msr_to_bit(msr); in reserve_evntsel_nmi()
142 if (counter > NMI_MAX_COUNTER_BITS) in reserve_evntsel_nmi()
143 return 1; in reserve_evntsel_nmi()
145 if (!test_and_set_bit(counter, evntsel_nmi_owner)) in reserve_evntsel_nmi()
146 return 1; in reserve_evntsel_nmi()
153 unsigned int counter; in release_evntsel_nmi() local
155 counter = nmi_evntsel_msr_to_bit(msr); in release_evntsel_nmi()
157 if (counter > NMI_MAX_COUNTER_BITS) in release_evntsel_nmi()
160 clear_bit(counter, evntsel_nmi_owner); in release_evntsel_nmi()