Lines Matching refs:df

23 	struct msm_gpu_devfreq *df = &gpu->devfreq;  in msm_devfreq_target()  local
37 mutex_lock(&df->lock); in msm_devfreq_target()
38 gpu->funcs->gpu_set_freq(gpu, opp, df->suspended); in msm_devfreq_target()
39 mutex_unlock(&df->lock); in msm_devfreq_target()
60 struct msm_gpu_devfreq *df = &gpu->devfreq; in get_raw_dev_status() local
65 mutex_lock(&df->lock); in get_raw_dev_status()
69 status->total_time = ktime_us_delta(time, df->time); in get_raw_dev_status()
70 df->time = time; in get_raw_dev_status()
72 if (df->suspended) { in get_raw_dev_status()
73 mutex_unlock(&df->lock); in get_raw_dev_status()
79 busy_time = busy_cycles - df->busy_cycles; in get_raw_dev_status()
80 df->busy_cycles = busy_cycles; in get_raw_dev_status()
82 mutex_unlock(&df->lock); in get_raw_dev_status()
95 struct msm_gpu_devfreq *df = &gpu->devfreq; in update_average_dev_status() local
96 const u32 polling_ms = df->devfreq->profile->polling_ms; in update_average_dev_status()
98 struct devfreq_dev_status *avg = &df->average_status; in update_average_dev_status()
179 struct msm_gpu_devfreq *df = &gpu->devfreq; in has_devfreq() local
180 return !!df->devfreq; in has_devfreq()
185 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_init() local
191 mutex_init(&df->lock); 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()
210 df->devfreq = devm_devfreq_add_device(&gpu->pdev->dev, in msm_devfreq_init()
214 if (IS_ERR(df->devfreq)) { in msm_devfreq_init()
216 dev_pm_qos_remove_request(&df->idle_freq); in msm_devfreq_init()
217 dev_pm_qos_remove_request(&df->boost_freq); in msm_devfreq_init()
218 df->devfreq = NULL; in msm_devfreq_init()
222 devfreq_suspend_device(df->devfreq); in msm_devfreq_init()
224 gpu->cooling = of_devfreq_cooling_register(gpu->pdev->dev.of_node, df->devfreq); 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()
237 static void cancel_idle_work(struct msm_gpu_devfreq *df) in cancel_idle_work() argument
239 hrtimer_cancel(&df->idle_work.timer); in cancel_idle_work()
240 kthread_cancel_work_sync(&df->idle_work.work); in cancel_idle_work()
243 static void cancel_boost_work(struct msm_gpu_devfreq *df) in cancel_boost_work() argument
245 hrtimer_cancel(&df->boost_work.timer); in cancel_boost_work()
246 kthread_cancel_work_sync(&df->boost_work.work); in cancel_boost_work()
251 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_cleanup() local
257 dev_pm_qos_remove_request(&df->boost_freq); in msm_devfreq_cleanup()
258 dev_pm_qos_remove_request(&df->idle_freq); in msm_devfreq_cleanup()
263 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_resume() local
269 mutex_lock(&df->lock); in msm_devfreq_resume()
270 df->busy_cycles = gpu->funcs->gpu_busy(gpu, &sample_rate); in msm_devfreq_resume()
271 df->time = ktime_get(); in msm_devfreq_resume()
272 df->suspended = false; in msm_devfreq_resume()
273 mutex_unlock(&df->lock); in msm_devfreq_resume()
275 devfreq_resume_device(df->devfreq); in msm_devfreq_resume()
280 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_suspend() local
285 mutex_lock(&df->lock); in msm_devfreq_suspend()
286 df->suspended = true; in msm_devfreq_suspend()
287 mutex_unlock(&df->lock); in msm_devfreq_suspend()
289 devfreq_suspend_device(df->devfreq); in msm_devfreq_suspend()
291 cancel_idle_work(df); in msm_devfreq_suspend()
292 cancel_boost_work(df); in msm_devfreq_suspend()
297 struct msm_gpu_devfreq *df = container_of(work, in msm_devfreq_boost_work() local
300 dev_pm_qos_update_request(&df->boost_freq, 0); in msm_devfreq_boost_work()
305 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_boost() local
320 dev_pm_qos_update_request(&df->boost_freq, freq); in msm_devfreq_boost()
322 msm_hrtimer_queue_work(&df->boost_work, in msm_devfreq_boost()
329 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_active() local
338 cancel_idle_work(df); in msm_devfreq_active()
340 idle_time = ktime_to_ms(ktime_sub(ktime_get(), df->idle_time)); in msm_devfreq_active()
351 dev_pm_qos_update_request(&df->idle_freq, in msm_devfreq_active()
358 struct msm_gpu_devfreq *df = container_of(work, in msm_devfreq_idle_work() local
360 struct msm_gpu *gpu = container_of(df, struct msm_gpu, devfreq); in msm_devfreq_idle_work()
362 df->idle_time = ktime_get(); in msm_devfreq_idle_work()
365 dev_pm_qos_update_request(&df->idle_freq, 0); in msm_devfreq_idle_work()
370 struct msm_gpu_devfreq *df = &gpu->devfreq; in msm_devfreq_idle() local
375 msm_hrtimer_queue_work(&df->idle_work, ms_to_ktime(1), in msm_devfreq_idle()