drm/lima: include pp bcast irq in timeout handler check
authorErico Nunes <nunes.erico@gmail.com>
Fri, 5 Apr 2024 15:29:50 +0000 (17:29 +0200)
committerQiang Yu <yuq825@gmail.com>
Mon, 15 Apr 2024 01:05:55 +0000 (09:05 +0800)
In commit 53cb55b20208 ("drm/lima: handle spurious timeouts due to high
irq latency") a check was added to detect an unexpectedly high interrupt
latency timeout.
With further investigation it was noted that on Mali-450 the pp bcast
irq may also be a trigger of race conditions against the timeout
handler, so add it to this check too.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240405152951.1531555-3-nunes.erico@gmail.com
drivers/gpu/drm/lima/lima_sched.c

index 00b19adfc8881a1bffaa61781bf50dc1b5ecf33e..66841503a61831c07195dda485e919cde68a937f 100644 (file)
@@ -422,6 +422,8 @@ static enum drm_gpu_sched_stat lima_sched_timedout_job(struct drm_sched_job *job
         */
        for (i = 0; i < pipe->num_processor; i++)
                synchronize_irq(pipe->processor[i]->irq);
+       if (pipe->bcast_processor)
+               synchronize_irq(pipe->bcast_processor->irq);
 
        if (dma_fence_is_signaled(task->fence)) {
                DRM_WARN("%s unexpectedly high interrupt latency\n", lima_ip_name(ip));