mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
drm/panthor: Don't overrule pending immediate ticks in sched_resume_tick()
We schedule immediate ticks when we need to process events on CSGs,
but those immediate ticks don't change the resched_target because we
want the other groups to stay scheduled for the remaining of the GPU
timeslot they were given. Make sure these immediate ticks don't get
overruled by a sched_queue_delayed_work() that would delay the tick
execution.
Fixes: 99820b4b7e ("drm/panthor: Make sure we resume the tick when new jobs are submitted")
Reported-by: sashiko-bot@kernel.org
Closes: https://sashiko.dev/#/patchset/20260625-panthor-signal-from-irq-v4-0-3d2908912afa@collabora.com?part=9
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Karunika Choo <karunika.choo@arm.com>
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patch.msgid.link/20260625-panthor-misc-fixes-v1-6-b67ed973fea6@collabora.com
This commit is contained in:
parent
fe4c05a590
commit
6fec8b4734
|
|
@ -2667,7 +2667,14 @@ static void sched_resume_tick(struct panthor_device *ptdev)
|
|||
else
|
||||
delay_jiffies = 0;
|
||||
|
||||
sched_queue_delayed_work(sched, tick, delay_jiffies);
|
||||
/* We schedule immediate ticks when we need to process events on CSGs,
|
||||
* but those don't change the resched_target because we want the other
|
||||
* groups to stay scheduled for the remaining of the GPU timeslot they
|
||||
* were given. Make sure those immediate ticks don't get overruled by
|
||||
* a sched_queue_delayed_work() that would delay the tick execution.
|
||||
*/
|
||||
if (!delayed_work_pending(&sched->tick_work))
|
||||
sched_queue_delayed_work(sched, tick, delay_jiffies);
|
||||
}
|
||||
|
||||
static void group_schedule_locked(struct panthor_group *group, u32 queue_mask)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user