Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) // SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #ifndef __PERF_EVSEL_CONFIG_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #define __PERF_EVSEL_CONFIG_H 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) #include <stdbool.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)  * The 'struct evsel_config_term' is used to pass event
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)  * specific configuration data to evsel__config routine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)  * It is allocated within event parsing and attached to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)  * evsel::config_terms list head.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) enum evsel_term_type {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 	EVSEL__CONFIG_TERM_PERIOD,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 	EVSEL__CONFIG_TERM_FREQ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 	EVSEL__CONFIG_TERM_TIME,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	EVSEL__CONFIG_TERM_CALLGRAPH,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 	EVSEL__CONFIG_TERM_STACK_USER,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	EVSEL__CONFIG_TERM_INHERIT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 	EVSEL__CONFIG_TERM_MAX_STACK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	EVSEL__CONFIG_TERM_MAX_EVENTS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 	EVSEL__CONFIG_TERM_OVERWRITE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	EVSEL__CONFIG_TERM_DRV_CFG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 	EVSEL__CONFIG_TERM_BRANCH,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 	EVSEL__CONFIG_TERM_PERCORE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 	EVSEL__CONFIG_TERM_AUX_OUTPUT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	EVSEL__CONFIG_TERM_AUX_SAMPLE_SIZE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	EVSEL__CONFIG_TERM_CFG_CHG,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) struct evsel_config_term {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	struct list_head      list;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	enum evsel_term_type  type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	bool		      free_str;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 	union {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 		u64	      period;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 		u64	      freq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 		bool	      time;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 		u64	      stack_user;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 		int	      max_stack;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 		bool	      inherit;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 		bool	      overwrite;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 		unsigned long max_events;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 		bool	      percore;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 		bool	      aux_output;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 		u32	      aux_sample_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 		u64	      cfg_chg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 		char	      *str;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) 	} val;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 	bool weak;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) struct evsel;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) struct evsel_config_term *__evsel__get_config_term(struct evsel *evsel, enum evsel_term_type type);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) #define evsel__get_config_term(evsel, type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 	__evsel__get_config_term(evsel, EVSEL__CONFIG_TERM_ ## type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) #endif // __PERF_EVSEL_CONFIG_H