Lines Matching refs:pmc
147 int pmc, psel, unit, byte, bit;
150 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK;
152 if (pmc) {
153 if (direct_marked_event[pmc - 1] & (1 << psel))
156 bit = (pmc <= 4)? pmc - 1: 8 - pmc;
195 int pmc, byte, unit, sh, spcsel;
199 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK;
200 if (pmc) {
201 if (pmc > 8)
203 sh = (pmc - 1) * 2;
206 grp = ((pmc - 1) >> 1) & 1;
219 if (!pmc)
262 unsigned int pmc, unit, byte, psel;
282 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK;
283 if (pmc) {
284 if (pmc_inuse & (1 << (pmc - 1)))
286 pmc_inuse |= 1 << (pmc - 1);
288 ++pmc_grp_use[((pmc - 1) >> 1) & 1];
295 if (!pmc)
349 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK;
353 if (!pmc) {
359 for (pmc = 0; pmc < 8; ++pmc) {
360 if (pmc_inuse & (1 << pmc))
362 grp = (pmc >> 1) & 1;
371 pmc_inuse |= 1 << pmc;
374 --pmc;
377 mmcr1 |= 1ull << mmcr1_adder_bits[pmc];
379 pmcsel[pmc] = psel;
380 hwc[i] = pmc;
386 for (pmc = 0; pmc < 2; ++pmc)
387 mmcr0 |= pmcsel[pmc] << (MMCR0_PMC1SEL_SH - 7 * pmc);
388 for (; pmc < 8; ++pmc)
389 mmcr1 |= (unsigned long)pmcsel[pmc]
390 << (MMCR1_PMC3SEL_SH - 5 * (pmc - 2));
405 static void p970_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr)
412 if (pmc <= 1) {
413 shift = MMCR0_PMC1SEL_SH - 7 * pmc;
416 shift = MMCR1_PMC3SEL_SH - 5 * (pmc - 2);