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)
263 unsigned int pmc, unit, byte, psel;
283 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK;
284 if (pmc) {
285 if (pmc_inuse & (1 << (pmc - 1)))
287 pmc_inuse |= 1 << (pmc - 1);
289 ++pmc_grp_use[((pmc - 1) >> 1) & 1];
296 if (!pmc)
350 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK;
354 if (!pmc) {
360 for (pmc = 0; pmc < 8; ++pmc) {
361 if (pmc_inuse & (1 << pmc))
363 grp = (pmc >> 1) & 1;
372 pmc_inuse |= 1 << pmc;
375 --pmc;
378 mmcr1 |= 1ull << mmcr1_adder_bits[pmc];
380 pmcsel[pmc] = psel;
381 hwc[i] = pmc;
387 for (pmc = 0; pmc < 2; ++pmc)
388 mmcr0 |= pmcsel[pmc] << (MMCR0_PMC1SEL_SH - 7 * pmc);
389 for (; pmc < 8; ++pmc)
390 mmcr1 |= (unsigned long)pmcsel[pmc]
391 << (MMCR1_PMC3SEL_SH - 5 * (pmc - 2));
406 static void p970_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr)
413 if (pmc <= 1) {
414 shift = MMCR0_PMC1SEL_SH - 7 * pmc;
417 shift = MMCR1_PMC3SEL_SH - 5 * (pmc - 2);