]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/panthor: Fix the logic that decides when to stop ticking
authorBoris Brezillon <boris.brezillon@collabora.com>
Fri, 28 Nov 2025 09:48:37 +0000 (10:48 +0100)
committerBoris Brezillon <boris.brezillon@collabora.com>
Fri, 28 Nov 2025 09:56:44 +0000 (10:56 +0100)
commit61d9a43d70dc3e1709ecd14a34f6d5f01e21dfc9
tree72689c7815ac78c2b960ff1adb3bd157a34c5fec
parent4356d21994f4ff5c87305b874939b359f16f6677
drm/panthor: Fix the logic that decides when to stop ticking

When we have multiple active groups with the same priority, we need to
keep ticking for the priority rotation to take place. If we don't do
that, we might starve slots with lower priorities.

It's annoying to deal with that in tick_ctx_update_resched_target(),
so let's add a ::stop_tick field to the tick context which is
initialized to true, and downgraded to false as soon as we detect
something that requires to tick to happen. This way we can complement
the current logic with extra conditions if needed.

v2:
- Add R-b

v3:
- Drop panthor_sched_tick_ctx::min_priority (no longer relevant)
- Collect R-b

Fixes: de8548813824 ("drm/panthor: Add the scheduler logical block")
Reviewed-by: Steven Price <steven.price@arm.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Link: https://patch.msgid.link/20251128094839.3856402-7-boris.brezillon@collabora.com
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
drivers/gpu/drm/panthor/panthor_sched.c