| #ifndef __MSM_CORE_LIB_H__ |
| #define __MSM_CORE_LIB_H__ |
| |
| #include <linux/ioctl.h> |
| |
| #define TEMP_DATA_POINTS 13 |
| #define MAX_NUM_FREQ 200 |
| |
| enum msm_core_ioctl_params { |
| MSM_CORE_LEAKAGE, |
| MSM_CORE_VOLTAGE, |
| }; |
| |
| #define MSM_CORE_MAGIC 0x9D |
| |
| struct sched_params { |
| uint32_t cpumask; |
| uint32_t cluster; |
| uint32_t power[TEMP_DATA_POINTS][MAX_NUM_FREQ]; |
| uint32_t voltage[MAX_NUM_FREQ]; |
| uint32_t freq[MAX_NUM_FREQ]; |
| }; |
| |
| |
| #define EA_LEAKAGE _IOWR(MSM_CORE_MAGIC, MSM_CORE_LEAKAGE,\ |
| struct sched_params) |
| #define EA_VOLT _IOWR(MSM_CORE_MAGIC, MSM_CORE_VOLTAGE,\ |
| struct sched_params) |
| #endif |