Home | History | Annotate | Download | only in linux
      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