blob: 6c0dae46ab572278f9a7acf8c10141e79dcb56a7 [file] [log] [blame]
Mahesh Sivasubramanianc2ea76f2016-02-01 10:40:26 -07001#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
9enum msm_core_ioctl_params {
10 MSM_CORE_LEAKAGE,
11 MSM_CORE_VOLTAGE,
12};
13
14#define MSM_CORE_MAGIC 0x9D
15
16struct 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