Home
last modified time | relevance | path

Searched refs:pmc (Results 1 – 25 of 171) sorted by relevance

1234567

/Linux-v4.19/drivers/net/wireless/ath/wil6210/
Dpmc.c31 static int wil_is_pmc_allocated(struct pmc_ctx *pmc) in wil_is_pmc_allocated() argument
33 return !!pmc->pring_va; in wil_is_pmc_allocated()
38 memset(&wil->pmc, 0, sizeof(struct pmc_ctx)); in wil_pmc_init()
39 mutex_init(&wil->pmc.lock); in wil_pmc_init()
55 struct pmc_ctx *pmc = &wil->pmc; in wil_pmc_alloc() local
61 mutex_lock(&pmc->lock); in wil_pmc_alloc()
63 if (wil_is_pmc_allocated(pmc)) { in wil_pmc_alloc()
92 pmc->num_descriptors = num_descriptors; in wil_pmc_alloc()
93 pmc->descriptor_size = descriptor_size; in wil_pmc_alloc()
99 pmc->descriptors = kcalloc(num_descriptors, in wil_pmc_alloc()
[all …]
/Linux-v4.19/arch/powerpc/perf/
Dpower6-pmu.c141 int pmc, psel, ptype; in power6_marked_instr_event() local
145 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power6_marked_instr_event()
147 if (pmc >= 5) in power6_marked_instr_event()
153 if (pmc == 0 || !(ptype & (1 << (pmc - 1)))) in power6_marked_instr_event()
161 bit = ptype ^ (pmc - 1); in power6_marked_instr_event()
183 unsigned int pmc, ev, b, u, s, psel; in p6_compute_mmcr() local
190 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in p6_compute_mmcr()
191 if (pmc) { in p6_compute_mmcr()
192 if (pmc_inuse & (1 << (pmc - 1))) in p6_compute_mmcr()
194 pmc_inuse |= 1 << (pmc - 1); in p6_compute_mmcr()
[all …]
Dppc970-pmu.c149 int pmc, psel, unit, byte, bit; in p970_marked_instr_event() local
152 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p970_marked_instr_event()
154 if (pmc) { in p970_marked_instr_event()
155 if (direct_marked_event[pmc - 1] & (1 << psel)) in p970_marked_instr_event()
158 bit = (pmc <= 4)? pmc - 1: 8 - pmc; in p970_marked_instr_event()
197 int pmc, byte, unit, sh, spcsel; in p970_get_constraint() local
201 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p970_get_constraint()
202 if (pmc) { in p970_get_constraint()
203 if (pmc > 8) in p970_get_constraint()
205 sh = (pmc - 1) * 2; in p970_get_constraint()
[all …]
Dpower7-pmu.c88 int pmc, sh, unit; in power7_get_constraint() local
91 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power7_get_constraint()
92 if (pmc) { in power7_get_constraint()
93 if (pmc > 6) in power7_get_constraint()
95 sh = (pmc - 1) * 2; in power7_get_constraint()
98 if (pmc >= 5 && !(event == 0x500fa || event == 0x600f4)) in power7_get_constraint()
101 if (pmc < 5) { in power7_get_constraint()
148 int pmc, psel; in find_alternative_decode() local
151 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in find_alternative_decode()
153 if ((pmc == 2 || pmc == 4) && (psel & ~7) == 0x40) in find_alternative_decode()
[all …]
Dpower5-pmu.c143 int pmc, byte, unit, sh; in power5_get_constraint() local
148 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5_get_constraint()
149 if (pmc) { in power5_get_constraint()
150 if (pmc > 6) in power5_get_constraint()
152 sh = (pmc - 1) * 2; in power5_get_constraint()
155 if (pmc <= 4) in power5_get_constraint()
156 grp = (pmc - 1) >> 1; in power5_get_constraint()
188 if (!pmc) in power5_get_constraint()
203 if (pmc < 5) { in power5_get_constraint()
255 int pmc, altpmc, pp, j; in find_alternative_bdecode() local
[all …]
Dpower5+-pmu.c139 int pmc, byte, unit, sh; in power5p_get_constraint() local
143 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_get_constraint()
144 if (pmc) { in power5p_get_constraint()
145 if (pmc > 6) in power5p_get_constraint()
147 sh = (pmc - 1) * 2; in power5p_get_constraint()
150 if (pmc >= 5 && !(event == 0x500009 || event == 0x600005)) in power5p_get_constraint()
181 if (pmc < 5) { in power5p_get_constraint()
193 int pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_limited_pmc_event() local
195 return pmc == 5 || pmc == 6; in power5p_limited_pmc_event()
247 int pmc, altpmc, pp, j; in find_alternative_bdecode() local
[all …]
Disa207-common.h152 #define CNST_PMC_SHIFT(pmc) ((pmc - 1) * 2) argument
153 #define CNST_PMC_VAL(pmc) (1 << CNST_PMC_SHIFT(pmc)) argument
154 #define CNST_PMC_MASK(pmc) (2 << CNST_PMC_SHIFT(pmc)) argument
162 #define MMCR1_UNIT_SHIFT(pmc) (60 - (4 * ((pmc) - 1))) argument
163 #define MMCR1_COMBINE_SHIFT(pmc) (35 - ((pmc) - 1)) argument
164 #define MMCR1_PMCSEL_SHIFT(pmc) (24 - (((pmc) - 1)) * 8) argument
170 #define p9_MMCR1_COMBINE_SHIFT(pmc) (38 - ((pmc - 1) * 2)) argument
197 #define MMCR2_FCS(pmc) (1ull << (63 - (((pmc) - 1) * 9))) argument
198 #define MMCR2_FCP(pmc) (1ull << (62 - (((pmc) - 1) * 9))) argument
199 #define MMCR2_FCH(pmc) (1ull << (57 - (((pmc) - 1) * 9))) argument
[all …]
Dmpc7450-pmu.c43 int pmc; in mpc7450_classify_event() local
45 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in mpc7450_classify_event()
46 if (pmc) { in mpc7450_classify_event()
47 if (pmc > N_COUNTER) in mpc7450_classify_event()
83 int pmc, sel; in mpc7450_threshold_use() local
85 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in mpc7450_threshold_use()
87 switch (pmc) { in mpc7450_threshold_use()
157 int pmc, class; in mpc7450_get_constraint() local
165 pmc = ((unsigned int)event >> PM_PMC_SH) & PM_PMC_MSK; in mpc7450_get_constraint()
166 mask = pmcbits[pmc - 1][0]; in mpc7450_get_constraint()
[all …]
Disa207-common.c20 PMU_FORMAT_ATTR(pmc, "config:16-19");
121 static unsigned long combine_shift(unsigned long pmc) in combine_shift() argument
124 return p9_MMCR1_COMBINE_SHIFT(pmc); in combine_shift()
126 return MMCR1_COMBINE_SHIFT(pmc); in combine_shift()
235 unsigned int unit, pmc, cache, ebb; in isa207_get_constraint() local
243 pmc = (event >> EVENT_PMC_SHIFT) & EVENT_PMC_MASK; in isa207_get_constraint()
248 if (pmc) { in isa207_get_constraint()
251 if (pmc > 6) in isa207_get_constraint()
257 if (pmc >= 5 && base_event != 0x500fa && in isa207_get_constraint()
261 mask |= CNST_PMC_MASK(pmc); in isa207_get_constraint()
[all …]
/Linux-v4.19/arch/x86/kvm/
Dpmu.c62 struct kvm_pmc *pmc = perf_event->overflow_handler_context; in kvm_perf_overflow() local
63 struct kvm_pmu *pmu = pmc_to_pmu(pmc); in kvm_perf_overflow()
65 if (!test_and_set_bit(pmc->idx, in kvm_perf_overflow()
67 __set_bit(pmc->idx, (unsigned long *)&pmu->global_status); in kvm_perf_overflow()
68 kvm_make_request(KVM_REQ_PMU, pmc->vcpu); in kvm_perf_overflow()
76 struct kvm_pmc *pmc = perf_event->overflow_handler_context; in kvm_perf_overflow_intr() local
77 struct kvm_pmu *pmu = pmc_to_pmu(pmc); in kvm_perf_overflow_intr()
79 if (!test_and_set_bit(pmc->idx, in kvm_perf_overflow_intr()
81 __set_bit(pmc->idx, (unsigned long *)&pmu->global_status); in kvm_perf_overflow_intr()
82 kvm_make_request(KVM_REQ_PMU, pmc->vcpu); in kvm_perf_overflow_intr()
[all …]
Dpmu.h7 #define pmc_to_pmu(pmc) (&(pmc)->vcpu->arch.pmu) argument
26 bool (*pmc_is_enabled)(struct kvm_pmc *pmc);
38 static inline u64 pmc_bitmask(struct kvm_pmc *pmc) in pmc_bitmask() argument
40 struct kvm_pmu *pmu = pmc_to_pmu(pmc); in pmc_bitmask()
42 return pmu->counter_bitmask[pmc->type]; in pmc_bitmask()
45 static inline u64 pmc_read_counter(struct kvm_pmc *pmc) in pmc_read_counter() argument
49 counter = pmc->counter; in pmc_read_counter()
50 if (pmc->perf_event) in pmc_read_counter()
51 counter += perf_event_read_value(pmc->perf_event, in pmc_read_counter()
54 return counter & pmc_bitmask(pmc); in pmc_read_counter()
[all …]
Dpmu_amd.c157 static bool amd_pmc_is_enabled(struct kvm_pmc *pmc) in amd_pmc_is_enabled() argument
216 struct kvm_pmc *pmc; in amd_pmu_get_msr() local
219 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_pmu_get_msr()
220 if (pmc) { in amd_pmu_get_msr()
221 *data = pmc_read_counter(pmc); in amd_pmu_get_msr()
225 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL); in amd_pmu_get_msr()
226 if (pmc) { in amd_pmu_get_msr()
227 *data = pmc->eventsel; in amd_pmu_get_msr()
237 struct kvm_pmc *pmc; in amd_pmu_set_msr() local
242 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_pmu_set_msr()
[all …]
Dpmu_intel.c45 struct kvm_pmc *pmc; in reprogram_fixed_counters() local
47 pmc = get_fixed_pmc(pmu, MSR_CORE_PERF_FIXED_CTR0 + i); in reprogram_fixed_counters()
52 reprogram_fixed_counter(pmc, new_ctrl, i); in reprogram_fixed_counters()
97 static bool intel_pmc_is_enabled(struct kvm_pmc *pmc) in intel_pmc_is_enabled() argument
99 struct kvm_pmu *pmu = pmc_to_pmu(pmc); in intel_pmc_is_enabled()
101 return test_bit(pmc->idx, (unsigned long *)&pmu->global_ctrl); in intel_pmc_is_enabled()
170 struct kvm_pmc *pmc; in intel_pmu_get_msr() local
186 if ((pmc = get_gp_pmc(pmu, msr, MSR_IA32_PERFCTR0)) || in intel_pmu_get_msr()
187 (pmc = get_fixed_pmc(pmu, msr))) { in intel_pmu_get_msr()
188 *data = pmc_read_counter(pmc); in intel_pmu_get_msr()
[all …]
/Linux-v4.19/net/ipv4/
Digmp.c168 static int sf_setstate(struct ip_mc_list *pmc);
169 static void sf_markstate(struct ip_mc_list *pmc);
171 static void ip_mc_clear_src(struct ip_mc_list *pmc);
183 #define for_each_pmc_rcu(in_dev, pmc) \ argument
184 for (pmc = rcu_dereference(in_dev->mc_list); \
185 pmc != NULL; \
186 pmc = rcu_dereference(pmc->next_rcu))
188 #define for_each_pmc_rtnl(in_dev, pmc) \ argument
189 for (pmc = rtnl_dereference(in_dev->mc_list); \
190 pmc != NULL; \
[all …]
/Linux-v4.19/drivers/platform/x86/
Dpmc_atom.c211 static inline u32 pmc_reg_read(struct pmc_dev *pmc, int reg_offset) in pmc_reg_read() argument
213 return readl(pmc->regmap + reg_offset); in pmc_reg_read()
216 static inline void pmc_reg_write(struct pmc_dev *pmc, int reg_offset, u32 val) in pmc_reg_write() argument
218 writel(val, pmc->regmap + reg_offset); in pmc_reg_write()
223 struct pmc_dev *pmc = &pmc_device; in pmc_atom_read() local
225 if (!pmc->init) in pmc_atom_read()
228 *value = pmc_reg_read(pmc, offset); in pmc_atom_read()
235 struct pmc_dev *pmc = &pmc_device; in pmc_atom_write() local
237 if (!pmc->init) in pmc_atom_write()
240 pmc_reg_write(pmc, offset, value); in pmc_atom_write()
[all …]
/Linux-v4.19/drivers/soc/tegra/
Dpmc.c127 struct tegra_pmc *pmc; member
162 void (*init)(struct tegra_pmc *pmc);
163 void (*setup_irq_polarity)(struct tegra_pmc *pmc,
221 static struct tegra_pmc *pmc = &(struct tegra_pmc) { variable
234 return readl(pmc->base + offset); in tegra_pmc_readl()
239 writel(value, pmc->base + offset); in tegra_pmc_writel()
244 if (id == TEGRA_POWERGATE_3D && pmc->soc->has_gpu_clamps) in tegra_powergate_state()
252 return (pmc->soc && pmc->soc->powergates[id]); in tegra_powergate_is_valid()
257 return test_bit(id, pmc->powergates_available); in tegra_powergate_is_available()
260 static int tegra_powergate_lookup(struct tegra_pmc *pmc, const char *name) in tegra_powergate_lookup() argument
[all …]
/Linux-v4.19/net/ipv6/
Dmcast.c83 static void mld_add_delrec(struct inet6_dev *idev, struct ifmcaddr6 *pmc);
84 static void mld_del_delrec(struct inet6_dev *idev, struct ifmcaddr6 *pmc);
87 static int sf_setstate(struct ifmcaddr6 *pmc);
88 static void sf_markstate(struct ifmcaddr6 *pmc);
89 static void ip6_mc_clear_src(struct ifmcaddr6 *pmc);
120 #define for_each_pmc_rcu(np, pmc) \ argument
121 for (pmc = rcu_dereference(np->ipv6_mc_list); \
122 pmc != NULL; \
123 pmc = rcu_dereference(pmc->next))
336 struct ipv6_mc_socklist *pmc; in ip6_mc_source() local
[all …]
/Linux-v4.19/virt/kvm/arm/
Dpmu.c36 struct kvm_pmc *pmc = &pmu->pmc[select_idx]; in kvm_pmu_get_counter_value() local
45 if (pmc->perf_event) in kvm_pmu_get_counter_value()
46 counter += perf_event_read_value(pmc->perf_event, &enabled, in kvm_pmu_get_counter_value()
49 return counter & pmc->bitmask; in kvm_pmu_get_counter_value()
73 static void kvm_pmu_stop_counter(struct kvm_vcpu *vcpu, struct kvm_pmc *pmc) in kvm_pmu_stop_counter() argument
77 if (pmc->perf_event) { in kvm_pmu_stop_counter()
78 counter = kvm_pmu_get_counter_value(vcpu, pmc->idx); in kvm_pmu_stop_counter()
79 reg = (pmc->idx == ARMV8_PMU_CYCLE_IDX) in kvm_pmu_stop_counter()
80 ? PMCCNTR_EL0 : PMEVCNTR0_EL0 + pmc->idx; in kvm_pmu_stop_counter()
82 perf_event_disable(pmc->perf_event); in kvm_pmu_stop_counter()
[all …]
/Linux-v4.19/arch/arm/mach-at91/
Dpm_suspend.S22 pmc .req r0 label
30 1: ldr tmp1, [pmc, #AT91_PMC_SR]
39 1: ldr tmp1, [pmc, #AT91_PMC_SR]
48 1: ldr tmp1, [pmc, #AT91_PMC_SR]
57 1: ldr tmp1, [pmc, #AT91_PMC_SR]
69 str tmp1, [pmc, #AT91_PMC_SCDR]
134 ldr pmc, .pmc_base
165 ldr pmc, .pmc_base
168 ldr tmp1, [pmc, #AT91_CKGR_MOR]
171 str tmp1, [pmc, #AT91_CKGR_MOR]
[all …]
/Linux-v4.19/arch/powerpc/oprofile/
Dop_model_pa6t.c95 int pmc; in pa6t_reg_setup() local
104 for (pmc = 0; pmc < cur_cpu_spec->num_pmcs; pmc++) in pa6t_reg_setup()
105 if (!ctr[pmc].enabled) { in pa6t_reg_setup()
106 sys->mmcr0 &= ~(0x1UL << pmc); in pa6t_reg_setup()
107 sys->mmcr0 &= ~(0x1UL << (pmc+12)); in pa6t_reg_setup()
108 pr_debug("turned off counter %u\n", pmc); in pa6t_reg_setup()
131 for (pmc = 0; pmc < cur_cpu_spec->num_pmcs; pmc++) { in pa6t_reg_setup()
133 reset_value[pmc] = (0x1UL << 39) - ctr[pmc].count; in pa6t_reg_setup()
135 pmc, reset_value[pmc]); in pa6t_reg_setup()
Dop_model_power4.c45 int pmc, cntr_marked_events = 0; in power7_marked_instr_event() local
51 for (pmc = 0; pmc < 4; pmc++) { in power7_marked_instr_event()
53 << (OPROFILE_MAX_PMC_NUM - pmc) in power7_marked_instr_event()
55 psel = (psel >> ((OPROFILE_MAX_PMC_NUM - pmc) in power7_marked_instr_event()
59 - (pmc * OPROFILE_PMSEL_FIELD_WIDTH ))); in power7_marked_instr_event()
61 - (pmc * OPROFILE_PMSEL_FIELD_WIDTH)); in power7_marked_instr_event()
65 cntr_marked_events |= (pmc == 1 || pmc == 3) << pmc; in power7_marked_instr_event()
69 cntr_marked_events |= (pmc == 0) << pmc; in power7_marked_instr_event()
74 cntr_marked_events |= (pmc != 1) << pmc; in power7_marked_instr_event()
78 cntr_marked_events |= 1 << pmc; in power7_marked_instr_event()
[all …]
/Linux-v4.19/Documentation/devicetree/bindings/powerpc/fsl/
Dpmc.txt4 - compatible: "fsl,<chip>-pmc".
6 "fsl,mpc8349-pmc" should be listed for any chip whose PMC is
7 compatible. "fsl,mpc8313-pmc" should also be listed for any chip
10 "fsl,mpc8548-pmc" should be listed for any chip whose PMC is
11 compatible. "fsl,mpc8536-pmc" should also be listed for any chip
14 "fsl,mpc8641d-pmc" should be listed for any chip whose PMC is
15 compatible; all statements below that apply to "fsl,mpc8548-pmc" also
16 apply to "fsl,mpc8641d-pmc".
22 - reg: For devices compatible with "fsl,mpc8349-pmc", the first resource
26 For devices compatible with "fsl,mpc8548-pmc", the first resource
[all …]
/Linux-v4.19/tools/testing/selftests/powerpc/pmu/ebb/
Debb.h14 #define PMC_INDEX(pmc) ((pmc)-1) argument
41 static inline void ebb_enable_pmc_counting(int pmc) in ebb_enable_pmc_counting() argument
43 ebb_state.pmc_enable[PMC_INDEX(pmc)] = true; in ebb_enable_pmc_counting()
46 bool ebb_check_count(int pmc, u64 sample_period, int fudge);
60 int count_pmc(int pmc, uint32_t sample_period);
65 void write_pmc(int pmc, u64 value);
66 u64 read_pmc(int pmc);
Debb.c71 bool ebb_check_count(int pmc, u64 sample_period, int fudge) in ebb_check_count() argument
75 count = ebb_state.stats.pmc_count[PMC_INDEX(pmc)]; in ebb_check_count()
81 pmc, count, lower, lower - count); in ebb_check_count()
89 pmc, count, upper, count - upper); in ebb_check_count()
94 pmc, count, lower, upper, count - lower, upper - count); in ebb_check_count()
252 int count_pmc(int pmc, uint32_t sample_period) in count_pmc() argument
260 val = read_pmc(pmc); in count_pmc()
264 ebb_state.stats.pmc_count[PMC_INDEX(pmc)] += val - start_value; in count_pmc()
266 trace_log_reg(ebb_state.trace, SPRN_PMC1 + pmc - 1, val); in count_pmc()
269 write_pmc(pmc, start_value); in count_pmc()
[all …]
/Linux-v4.19/Documentation/devicetree/bindings/arm/tegra/
Dnvidia,tegra186-pmc.txt5 - "nvidia,tegra186-pmc": for Tegra186
6 - "nvidia,tegra194-pmc": for Tegra194
10 - "pmc"
23 pmc@c3600000 {
24 compatible = "nvidia,tegra186-pmc";
29 reg-names = "pmc", "wake", "aotag", "scratch";
34 pmc@c360000 {

1234567