• Home
  • Raw
  • Download

Lines Matching refs:pmc

139 	int pmc, psel, ptype;  in power6_marked_instr_event()  local
143 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power6_marked_instr_event()
145 if (pmc >= 5) in power6_marked_instr_event()
151 if (pmc == 0 || !(ptype & (1 << (pmc - 1)))) in power6_marked_instr_event()
159 bit = ptype ^ (pmc - 1); in power6_marked_instr_event()
182 unsigned int pmc, ev, b, u, s, psel; in p6_compute_mmcr() local
189 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in p6_compute_mmcr()
190 if (pmc) { in p6_compute_mmcr()
191 if (pmc_inuse & (1 << (pmc - 1))) in p6_compute_mmcr()
193 pmc_inuse |= 1 << (pmc - 1); in p6_compute_mmcr()
198 pmc = (ev >> PM_PMC_SH) & PM_PMC_MSK; in p6_compute_mmcr()
199 if (pmc) { in p6_compute_mmcr()
200 --pmc; in p6_compute_mmcr()
203 for (pmc = 0; pmc < 4; ++pmc) in p6_compute_mmcr()
204 if (!(pmc_inuse & (1 << pmc))) in p6_compute_mmcr()
206 if (pmc >= 4) in p6_compute_mmcr()
208 pmc_inuse |= 1 << pmc; in p6_compute_mmcr()
210 hwc[i] = pmc; in p6_compute_mmcr()
233 mmcr1 |= MMCR1_PMC1_ADDR_SEL >> pmc; in p6_compute_mmcr()
236 if (pmc >= 2 && (psel & 0x90) == 0x80) in p6_compute_mmcr()
240 mmcr1 |= MMCR1_PMC1_LLA >> pmc; in p6_compute_mmcr()
242 mmcr1 |= MMCR1_PMC1_LLA_VALUE >> pmc; in p6_compute_mmcr()
246 if (pmc < 4) in p6_compute_mmcr()
247 mmcr1 |= (unsigned long)psel << MMCR1_PMCSEL_SH(pmc); in p6_compute_mmcr()
272 int pmc, byte, sh, subunit; in p6_get_constraint() local
275 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p6_get_constraint()
276 if (pmc) { in p6_get_constraint()
277 if (pmc > 4 && !(event == 0x500009 || event == 0x600005)) in p6_get_constraint()
279 sh = (pmc - 1) * 2; in p6_get_constraint()
294 if (pmc <= 4) { in p6_get_constraint()
305 int pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p6_limited_pmc_event() local
307 return pmc == 5 || pmc == 6; in p6_limited_pmc_event()
364 unsigned int psel, pmc; in p6_get_alternatives() local
388 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p6_get_alternatives()
389 if (pmc && (psel == 0x32 || psel == 0x34)) in p6_get_alternatives()
391 ((5 - pmc) << PM_PMC_SH); in p6_get_alternatives()
394 if (pmc && (psel == 0x38 || psel == 0x3a)) in p6_get_alternatives()
396 ((pmc > 2? pmc - 2: pmc + 2) << PM_PMC_SH); in p6_get_alternatives()
463 static void p6_disable_pmc(unsigned int pmc, struct mmcr_regs *mmcr) in p6_disable_pmc() argument
466 if (pmc <= 3) in p6_disable_pmc()
467 mmcr->mmcr1 &= ~(0xffUL << MMCR1_PMCSEL_SH(pmc)); in p6_disable_pmc()