Lines Matching refs:event
139 static int power6_marked_instr_event(u64 event) in power6_marked_instr_event() argument
145 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power6_marked_instr_event()
146 psel = (event & PM_PMCSEL_MSK) >> 1; /* drop edge/level bit */ in power6_marked_instr_event()
165 if (!(event & PM_BUSEVENT_MSK) || bit == -1) in power6_marked_instr_event()
168 byte = (event >> PM_BYTE_SH) & PM_BYTE_MSK; in power6_marked_instr_event()
169 unit = (event >> PM_UNIT_SH) & PM_UNIT_MSK; in power6_marked_instr_event()
177 static int p6_compute_mmcr(u64 event[], int n_ev, in p6_compute_mmcr() argument
190 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in p6_compute_mmcr()
198 ev = event[i]; in p6_compute_mmcr()
245 if (power6_marked_instr_event(event[i])) in p6_compute_mmcr()
270 static int p6_get_constraint(u64 event, unsigned long *maskp, in p6_get_constraint() argument
276 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p6_get_constraint()
278 if (pmc > 4 && !(event == 0x500009 || event == 0x600005)) in p6_get_constraint()
284 if (event & PM_BUSEVENT_MSK) { in p6_get_constraint()
285 byte = (event >> PM_BYTE_SH) & PM_BYTE_MSK; in p6_get_constraint()
288 value |= (unsigned long)(event & PM_UNIT_MSKS) << sh; in p6_get_constraint()
289 if ((event & PM_UNIT_MSKS) == (5 << PM_UNIT_SH)) { in p6_get_constraint()
290 subunit = (event >> PM_SUBUNIT_SH) & PM_SUBUNIT_MSK; in p6_get_constraint()
304 static int p6_limited_pmc_event(u64 event) in p6_limited_pmc_event() argument
306 int pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p6_limited_pmc_event()
343 static int find_alternatives_list(u64 event) in find_alternatives_list() argument
349 if (event < event_alternatives[i][0]) in find_alternatives_list()
353 if (!alt || event < alt) in find_alternatives_list()
355 if (event == alt) in find_alternatives_list()
362 static int p6_get_alternatives(u64 event, unsigned int flags, u64 alt[]) in p6_get_alternatives() argument
369 alt[0] = event; in p6_get_alternatives()
370 nlim = p6_limited_pmc_event(event); in p6_get_alternatives()
373 i = find_alternatives_list(event); in p6_get_alternatives()
380 if (aevent != event) in p6_get_alternatives()
388 psel = event & (PM_PMCSEL_MSK & ~1); /* ignore edge bit */ in p6_get_alternatives()
389 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in p6_get_alternatives()
391 alt[nalt++] = ((event ^ 0x6) & ~PM_PMC_MSKS) | in p6_get_alternatives()
396 alt[nalt++] = ((event ^ 0x2) & ~PM_PMC_MSKS) | in p6_get_alternatives()