• Home
  • Raw
  • Download

Lines Matching refs:gpu

22 	struct msm_gpu *gpu = dev_to_gpu(dev);  in msm_devfreq_target()  local
23 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_target()
36 if (gpu->funcs->gpu_set_freq) { in msm_devfreq_target()
38 gpu->funcs->gpu_set_freq(gpu, opp, df->suspended); in msm_devfreq_target()
41 clk_set_rate(gpu->core_clk, *freq); in msm_devfreq_target()
49 static unsigned long get_freq(struct msm_gpu *gpu) in get_freq() argument
51 if (gpu->funcs->gpu_get_freq) in get_freq()
52 return gpu->funcs->gpu_get_freq(gpu); in get_freq()
54 return clk_get_rate(gpu->core_clk); in get_freq()
57 static void get_raw_dev_status(struct msm_gpu *gpu, in get_raw_dev_status() argument
60 struct msm_gpu_devfreq *df = &gpu->devfreq; in get_raw_dev_status()
67 status->current_frequency = get_freq(gpu); in get_raw_dev_status()
78 busy_cycles = gpu->funcs->gpu_busy(gpu, &sample_rate); in get_raw_dev_status()
92 static void update_average_dev_status(struct msm_gpu *gpu, in update_average_dev_status() argument
95 struct msm_gpu_devfreq *df = &gpu->devfreq; in update_average_dev_status()
149 struct msm_gpu *gpu = dev_to_gpu(dev); in msm_devfreq_get_dev_status() local
152 get_raw_dev_status(gpu, &raw); in msm_devfreq_get_dev_status()
153 update_average_dev_status(gpu, &raw); in msm_devfreq_get_dev_status()
154 *status = gpu->devfreq.average_status; in msm_devfreq_get_dev_status()
177 static bool has_devfreq(struct msm_gpu *gpu) in has_devfreq() argument
179 struct msm_gpu_devfreq *df = &gpu->devfreq; in has_devfreq()
183 void msm_devfreq_init(struct msm_gpu *gpu) in msm_devfreq_init() argument
185 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_init()
188 if (!gpu->funcs->gpu_busy) in msm_devfreq_init()
193 dev_pm_qos_add_request(&gpu->pdev->dev, &df->idle_freq, in msm_devfreq_init()
196 dev_pm_qos_add_request(&gpu->pdev->dev, &df->boost_freq, in msm_devfreq_init()
199 msm_devfreq_profile.initial_freq = gpu->fast_rate; in msm_devfreq_init()
210 df->devfreq = devm_devfreq_add_device(&gpu->pdev->dev, in msm_devfreq_init()
215 DRM_DEV_ERROR(&gpu->pdev->dev, "Couldn't initialize GPU devfreq\n"); in msm_devfreq_init()
224 gpu->cooling = of_devfreq_cooling_register(gpu->pdev->dev.of_node, df->devfreq); in msm_devfreq_init()
225 if (IS_ERR(gpu->cooling)) { in msm_devfreq_init()
226 DRM_DEV_ERROR(&gpu->pdev->dev, in msm_devfreq_init()
228 gpu->cooling = NULL; in msm_devfreq_init()
231 msm_hrtimer_work_init(&df->boost_work, gpu->worker, msm_devfreq_boost_work, in msm_devfreq_init()
233 msm_hrtimer_work_init(&df->idle_work, gpu->worker, msm_devfreq_idle_work, in msm_devfreq_init()
249 void msm_devfreq_cleanup(struct msm_gpu *gpu) in msm_devfreq_cleanup() argument
251 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_cleanup()
253 if (!has_devfreq(gpu)) in msm_devfreq_cleanup()
256 devfreq_cooling_unregister(gpu->cooling); in msm_devfreq_cleanup()
261 void msm_devfreq_resume(struct msm_gpu *gpu) in msm_devfreq_resume() argument
263 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_resume()
266 if (!has_devfreq(gpu)) in msm_devfreq_resume()
270 df->busy_cycles = gpu->funcs->gpu_busy(gpu, &sample_rate); in msm_devfreq_resume()
278 void msm_devfreq_suspend(struct msm_gpu *gpu) in msm_devfreq_suspend() argument
280 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_suspend()
282 if (!has_devfreq(gpu)) in msm_devfreq_suspend()
303 void msm_devfreq_boost(struct msm_gpu *gpu, unsigned factor) in msm_devfreq_boost() argument
305 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_boost()
308 if (!has_devfreq(gpu)) in msm_devfreq_boost()
311 freq = get_freq(gpu); in msm_devfreq_boost()
327 void msm_devfreq_active(struct msm_gpu *gpu) in msm_devfreq_active() argument
329 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_active()
332 if (!has_devfreq(gpu)) in msm_devfreq_active()
348 msm_devfreq_boost(gpu, 2); in msm_devfreq_active()
360 struct msm_gpu *gpu = container_of(df, struct msm_gpu, devfreq); in msm_devfreq_idle_work() local
364 if (gpu->clamp_to_idle) in msm_devfreq_idle_work()
368 void msm_devfreq_idle(struct msm_gpu *gpu) in msm_devfreq_idle() argument
370 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_idle()
372 if (!has_devfreq(gpu)) in msm_devfreq_idle()