Lines Matching refs:event
136 static int power5p_get_constraint(u64 event, unsigned long *maskp, in power5p_get_constraint() argument
143 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_get_constraint()
150 if (pmc >= 5 && !(event == 0x500009 || event == 0x600005)) in power5p_get_constraint()
153 if (event & PM_BUSEVENT_MSK) { in power5p_get_constraint()
154 unit = (event >> PM_UNIT_SH) & PM_UNIT_MSK; in power5p_get_constraint()
161 byte = (event >> PM_BYTE_SH) & PM_BYTE_MSK; in power5p_get_constraint()
170 bit = event & 7; in power5p_get_constraint()
174 value |= (unsigned long)((event >> PM_GRS_SH) & fmask) in power5p_get_constraint()
191 static int power5p_limited_pmc_event(u64 event) in power5p_limited_pmc_event() argument
193 int pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_limited_pmc_event()
218 static int find_alternative(unsigned int event) in find_alternative() argument
223 if (event < event_alternatives[i][0]) in find_alternative()
226 if (event == event_alternatives[i][j]) in find_alternative()
245 static s64 find_alternative_bdecode(u64 event) in find_alternative_bdecode() argument
249 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in find_alternative_bdecode()
253 pp = event & PM_PMCSEL_MSK; in find_alternative_bdecode()
256 return (event & ~(PM_PMC_MSKS | PM_PMCSEL_MSK)) | in find_alternative_bdecode()
264 return event + (2 << PM_PMC_SH) + (0x2e - 0x0d); in find_alternative_bdecode()
266 return event - (2 << PM_PMC_SH) - (0x2e - 0x0d); in find_alternative_bdecode()
270 return ((event ^ (0x10 ^ 0x28)) & ~PM_PMC_MSKS) | in find_alternative_bdecode()
276 static int power5p_get_alternatives(u64 event, unsigned int flags, u64 alt[]) in power5p_get_alternatives() argument
282 alt[0] = event; in power5p_get_alternatives()
284 nlim = power5p_limited_pmc_event(event); in power5p_get_alternatives()
285 i = find_alternative(event); in power5p_get_alternatives()
289 if (ae && ae != event) in power5p_get_alternatives()
294 ae = find_alternative_bdecode(event); in power5p_get_alternatives()
405 static int power5p_marked_instr_event(u64 event) in power5p_marked_instr_event() argument
411 pmc = (event >> PM_PMC_SH) & PM_PMC_MSK; in power5p_marked_instr_event()
412 psel = event & PM_PMCSEL_MSK; in power5p_marked_instr_event()
436 if (!(event & PM_BUSEVENT_MSK) || bit == -1) in power5p_marked_instr_event()
439 byte = (event >> PM_BYTE_SH) & PM_BYTE_MSK; in power5p_marked_instr_event()
440 unit = (event >> PM_UNIT_SH) & PM_UNIT_MSK; in power5p_marked_instr_event()
454 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()