Lines Matching refs:pmc
141 int pmc, byte, unit, sh; in power5_get_constraint() local
146 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5_get_constraint()
147 if (pmc) { in power5_get_constraint()
148 if (pmc > 6) in power5_get_constraint()
150 sh = (pmc - 1) * 2; in power5_get_constraint()
153 if (pmc <= 4) in power5_get_constraint()
154 grp = (pmc - 1) >> 1; in power5_get_constraint()
186 if (!pmc) in power5_get_constraint()
201 if (pmc < 5) { in power5_get_constraint()
253 int pmc, altpmc, pp, j; in find_alternative_bdecode() local
255 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in find_alternative_bdecode()
256 if (pmc == 0 || pmc > 4) in find_alternative_bdecode()
258 altpmc = 5 - pmc; /* 1 <-> 4, 2 <-> 3 */ in find_alternative_bdecode()
261 if (bytedecode_alternatives[pmc - 1][j] == pp) { in find_alternative_bdecode()
341 int pmc, psel; in power5_marked_instr_event() local
345 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5_marked_instr_event()
347 if (pmc >= 5) in power5_marked_instr_event()
352 if (direct_event_is_marked[psel] & (1 << pmc)) in power5_marked_instr_event()
357 bit = pmc - 1; in power5_marked_instr_event()
359 bit = 4 - pmc; in power5_marked_instr_event()
360 else if (psel == 0x1b && (pmc == 1 || pmc == 3)) in power5_marked_instr_event()
390 unsigned int pmc, unit, byte, psel; in power5_compute_mmcr() local
407 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in power5_compute_mmcr()
408 if (pmc) { in power5_compute_mmcr()
409 if (pmc > 6) in power5_compute_mmcr()
411 if (pmc_inuse & (1 << (pmc - 1))) in power5_compute_mmcr()
413 pmc_inuse |= 1 << (pmc - 1); in power5_compute_mmcr()
415 if (pmc <= 4) in power5_compute_mmcr()
416 ++pmc_grp_use[(pmc - 1) >> 1]; in power5_compute_mmcr()
431 if (!pmc) in power5_compute_mmcr()
492 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in power5_compute_mmcr()
497 if (!pmc) { in power5_compute_mmcr()
499 for (pmc = 0; pmc < 4; ++pmc) { in power5_compute_mmcr()
500 if (pmc_inuse & (1 << pmc)) in power5_compute_mmcr()
502 grp = (pmc >> 1) & 1; in power5_compute_mmcr()
511 pmc_inuse |= 1 << pmc; in power5_compute_mmcr()
512 } else if (pmc <= 4) { in power5_compute_mmcr()
514 --pmc; in power5_compute_mmcr()
517 mmcr1 |= 1ul << (MMCR1_PMC1_ADDER_SEL_SH - pmc); in power5_compute_mmcr()
520 --pmc; in power5_compute_mmcr()
529 if (pmc <= 3) in power5_compute_mmcr()
530 mmcr1 |= psel << MMCR1_PMCSEL_SH(pmc); in power5_compute_mmcr()
531 hwc[i] = pmc; in power5_compute_mmcr()
545 static void power5_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in power5_disable_pmc() argument
547 if (pmc <= 3) in power5_disable_pmc()
548 mmcr->mmcr1 &= ~(0x7fUL << MMCR1_PMCSEL_SH(pmc)); in power5_disable_pmc()