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