Lines Matching refs:event
134 static int power5p_get_constraint(u64 event, unsigned long *maskp, in power5p_get_constraint() argument
141 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_get_constraint()
148 if (pmc >= 5 && !(event == 0x500009 || event == 0x600005)) in power5p_get_constraint()
151 if (event & PM_BUSEVENT_MSK) { in power5p_get_constraint()
152 unit = (event >> PM_UNIT_SH) & PM_UNIT_MSK; in power5p_get_constraint()
159 byte = (event >> PM_BYTE_SH) & PM_BYTE_MSK; in power5p_get_constraint()
168 bit = event & 7; in power5p_get_constraint()
172 value |= (unsigned long)((event >> PM_GRS_SH) & fmask) in power5p_get_constraint()
189 static int power5p_limited_pmc_event(u64 event) in power5p_limited_pmc_event() argument
191 int pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_limited_pmc_event()
216 static int find_alternative(unsigned int event) in find_alternative() argument
221 if (event < event_alternatives[i][0]) in find_alternative()
224 if (event == event_alternatives[i][j]) in find_alternative()
243 static s64 find_alternative_bdecode(u64 event) in find_alternative_bdecode() argument
247 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in find_alternative_bdecode()
251 pp = event & PM_PMCSEL_MSK; in find_alternative_bdecode()
254 return (event & ~(PM_PMC_MSKS | PM_PMCSEL_MSK)) | in find_alternative_bdecode()
262 return event + (2 << PM_PMC_SH) + (0x2e - 0x0d); in find_alternative_bdecode()
264 return event - (2 << PM_PMC_SH) - (0x2e - 0x0d); in find_alternative_bdecode()
268 return ((event ^ (0x10 ^ 0x28)) & ~PM_PMC_MSKS) | in find_alternative_bdecode()
274 static int power5p_get_alternatives(u64 event, unsigned int flags, u64 alt[]) in power5p_get_alternatives() argument
280 alt[0] = event; in power5p_get_alternatives()
282 nlim = power5p_limited_pmc_event(event); in power5p_get_alternatives()
283 i = find_alternative(event); in power5p_get_alternatives()
287 if (ae && ae != event) in power5p_get_alternatives()
292 ae = find_alternative_bdecode(event); in power5p_get_alternatives()
403 static int power5p_marked_instr_event(u64 event) in power5p_marked_instr_event() argument
409 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_marked_instr_event()
410 psel = event & PM_PMCSEL_MSK; in power5p_marked_instr_event()
434 if (!(event & PM_BUSEVENT_MSK) || bit == -1) in power5p_marked_instr_event()
437 byte = (event >> PM_BYTE_SH) & PM_BYTE_MSK; in power5p_marked_instr_event()
438 unit = (event >> PM_UNIT_SH) & PM_UNIT_MSK; in power5p_marked_instr_event()
452 static int power5p_compute_mmcr(u64 event[], int n_ev, in power5p_compute_mmcr() argument
474 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in power5p_compute_mmcr()
482 if (event[i] & PM_BUSEVENT_MSK) { in power5p_compute_mmcr()
483 unit = (event[i] >> PM_UNIT_SH) & PM_UNIT_MSK; in power5p_compute_mmcr()
484 byte = (event[i] >> PM_BYTE_SH) & PM_BYTE_MSK; in power5p_compute_mmcr()
552 pmc = (event[i] >> PM_PMC_SH) & PM_PMC_MSK; in power5p_compute_mmcr()
553 unit = (event[i] >> PM_UNIT_SH) & PM_UNIT_MSK; in power5p_compute_mmcr()
554 byte = (event[i] >> PM_BYTE_SH) & PM_BYTE_MSK; in power5p_compute_mmcr()
555 psel = event[i] & PM_PMCSEL_MSK; in power5p_compute_mmcr()
556 isbus = event[i] & PM_BUSEVENT_MSK; in power5p_compute_mmcr()
579 grsel = (event[i] >> PM_GRS_SH) & PM_GRS_MSK; in power5p_compute_mmcr()
582 if (power5p_marked_instr_event(event[i])) in power5p_compute_mmcr()