#ifndef MSM_ADRENO_DEVFREQ_H #define MSM_ADRENO_DEVFREQ_H #include #define ADRENO_DEVFREQ_NOTIFY_SUBMIT 1 #define ADRENO_DEVFREQ_NOTIFY_RETIRE 2 #define ADRENO_DEVFREQ_NOTIFY_IDLE 3 struct device; int kgsl_devfreq_add_notifier(struct device *, struct notifier_block *); int kgsl_devfreq_del_notifier(struct device *, struct notifier_block *); /* same as KGSL_MAX_PWRLEVELS */ #define MSM_ADRENO_MAX_PWRLEVELS 10 struct xstats { u64 ram_time; u64 ram_wait; int mod; }; struct devfreq_msm_adreno_tz_data { struct notifier_block nb; struct { s64 total_time; s64 busy_time; } bin; struct { u64 total_time; u64 ram_time; u64 gpu_time; u32 num; u32 max; u32 up[MSM_ADRENO_MAX_PWRLEVELS]; u32 down[MSM_ADRENO_MAX_PWRLEVELS]; u32 p_up[MSM_ADRENO_MAX_PWRLEVELS]; u32 p_down[MSM_ADRENO_MAX_PWRLEVELS]; unsigned int *index; uint64_t *ib; } bus; unsigned int device_id; }; #endif