Lines Matching refs:pmc

88 	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()
155 if ((pmc == 1 || pmc == 3) && (psel & ~7) == 0x48) in find_alternative_decode()
217 int pmc, psel; in power7_marked_instr_event() local
220 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power7_marked_instr_event()
223 if (pmc >= 5) in power7_marked_instr_event()
228 return pmc == 2 || pmc == 4; in power7_marked_instr_event()
231 return pmc == 1; in power7_marked_instr_event()
233 return pmc != 2; in power7_marked_instr_event()
240 return pmc >= 3; in power7_marked_instr_event()
252 unsigned int pmc, unit, combine, l2sel, psel; in power7_compute_mmcr() local
258 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in power7_compute_mmcr()
259 if (pmc) { in power7_compute_mmcr()
260 if (pmc > 6) in power7_compute_mmcr()
262 if (pmc_inuse & (1 << (pmc - 1))) in power7_compute_mmcr()
264 pmc_inuse |= 1 << (pmc - 1); in power7_compute_mmcr()
270 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in power7_compute_mmcr()
275 if (!pmc) { in power7_compute_mmcr()
277 for (pmc = 0; pmc < 4; ++pmc) { in power7_compute_mmcr()
278 if (!(pmc_inuse & (1 << pmc))) in power7_compute_mmcr()
281 if (pmc >= 4) in power7_compute_mmcr()
283 pmc_inuse |= 1 << pmc; in power7_compute_mmcr()
286 --pmc; in power7_compute_mmcr()
288 if (pmc <= 3) { in power7_compute_mmcr()
290 << (MMCR1_TTM0SEL_SH - 4 * pmc); in power7_compute_mmcr()
292 << (MMCR1_PMC1_COMBINE_SH - pmc); in power7_compute_mmcr()
293 mmcr1 |= psel << MMCR1_PMCSEL_SH(pmc); in power7_compute_mmcr()
300 hwc[i] = pmc; in power7_compute_mmcr()
314 static void power7_disable_pmc(unsigned int pmc, unsigned long mmcr[]) in power7_disable_pmc() argument
316 if (pmc <= 3) in power7_disable_pmc()
317 mmcr[1] &= ~(0xffUL << MMCR1_PMCSEL_SH(pmc)); in power7_disable_pmc()