12345678910111213141516171819202122232425262728293031 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef __ASM_SH_PERF_EVENT_H
- #define __ASM_SH_PERF_EVENT_H
- struct hw_perf_event;
- #define MAX_HWEVENTS 2
- struct sh_pmu {
- const char *name;
- unsigned int num_events;
- void (*disable_all)(void);
- void (*enable_all)(void);
- void (*enable)(struct hw_perf_event *, int);
- void (*disable)(struct hw_perf_event *, int);
- u64 (*read)(int);
- int (*event_map)(int);
- unsigned int max_events;
- unsigned long raw_event_mask;
- const int (*cache_events)[PERF_COUNT_HW_CACHE_MAX]
- [PERF_COUNT_HW_CACHE_OP_MAX]
- [PERF_COUNT_HW_CACHE_RESULT_MAX];
- };
- /* arch/sh/kernel/perf_event.c */
- extern int register_sh_pmu(struct sh_pmu *);
- extern int reserve_pmc_hardware(void);
- extern void release_pmc_hardware(void);
- #endif /* __ASM_SH_PERF_EVENT_H */
|