#include "msm_gpu.h"
#include "msm_gpu_trace.h"
#include <linux/devfreq.h>
#include <linux/devfreq_cooling.h>
#include <linux/math64.h>
#include <linux/units.h>
static int msm_devfreq_target(struct device *dev, unsigned long *freq,
u32 flags)
{ … }
static unsigned long get_freq(struct msm_gpu *gpu)
{ … }
static int msm_devfreq_get_dev_status(struct device *dev,
struct devfreq_dev_status *status)
{ … }
static int msm_devfreq_get_cur_freq(struct device *dev, unsigned long *freq)
{ … }
static struct devfreq_dev_profile msm_devfreq_profile = …;
static void msm_devfreq_boost_work(struct kthread_work *work);
static void msm_devfreq_idle_work(struct kthread_work *work);
static bool has_devfreq(struct msm_gpu *gpu)
{ … }
void msm_devfreq_init(struct msm_gpu *gpu)
{ … }
static void cancel_idle_work(struct msm_gpu_devfreq *df)
{ … }
static void cancel_boost_work(struct msm_gpu_devfreq *df)
{ … }
void msm_devfreq_cleanup(struct msm_gpu *gpu)
{ … }
void msm_devfreq_resume(struct msm_gpu *gpu)
{ … }
void msm_devfreq_suspend(struct msm_gpu *gpu)
{ … }
static void msm_devfreq_boost_work(struct kthread_work *work)
{ … }
void msm_devfreq_boost(struct msm_gpu *gpu, unsigned factor)
{ … }
void msm_devfreq_active(struct msm_gpu *gpu)
{ … }
static void msm_devfreq_idle_work(struct kthread_work *work)
{ … }
void msm_devfreq_idle(struct msm_gpu *gpu)
{ … }