1 #ifndef __MSM_CORE_LIB_H__
2 #define __MSM_CORE_LIB_H__
3 
4 #include <linux/ioctl.h>
5 
6 #define TEMP_DATA_POINTS 13
7 #define MAX_NUM_FREQ 200
8 
9 enum msm_core_ioctl_params {
10 	MSM_CORE_LEAKAGE,
11 	MSM_CORE_VOLTAGE,
12 };
13 
14 #define MSM_CORE_MAGIC 0x9D
15 
16 struct sched_params {
17 	uint32_t cpumask;
18 	uint32_t cluster;
19 	uint32_t power[TEMP_DATA_POINTS][MAX_NUM_FREQ];
20 	uint32_t voltage[MAX_NUM_FREQ];
21 	uint32_t freq[MAX_NUM_FREQ];
22 };
23 
24 
25 #define EA_LEAKAGE _IOWR(MSM_CORE_MAGIC, MSM_CORE_LEAKAGE,\
26 						struct sched_params)
27 #define EA_VOLT _IOWR(MSM_CORE_MAGIC, MSM_CORE_VOLTAGE,\
28 						struct sched_params)
29 #endif
30