Commit 896868ed authored by Steven Price's avatar Steven Price

drm/panthor: Record devfreq busy as soon as a job is started

If a queue is already assigned to the hardware, then a newly submitted
job can start straight away without waiting for the tick. However in
this case the devfreq infrastructure isn't notified that the GPU is
busy. By the time the tick happens the job might well have finished and
no time will be accounted for the GPU being busy.

Fix this by recording the GPU as busy directly in queue_run_job() in the
case where there is a CSG assigned and therefore we just ring the
doorbell.

Fixes: de854881 ("drm/panthor: Add the scheduler logical block")
Signed-off-by: default avatarSteven Price <steven.price@arm.com>
Reviewed-by: default avatarBoris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240703155646.80928-1-steven.price@arm.com
parent 68550521
...@@ -2926,6 +2926,7 @@ queue_run_job(struct drm_sched_job *sched_job) ...@@ -2926,6 +2926,7 @@ queue_run_job(struct drm_sched_job *sched_job)
pm_runtime_get(ptdev->base.dev); pm_runtime_get(ptdev->base.dev);
sched->pm.has_ref = true; sched->pm.has_ref = true;
} }
panthor_devfreq_record_busy(sched->ptdev);
} }
done_fence = dma_fence_get(job->done_fence); done_fence = dma_fence_get(job->done_fence);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment