Re: [PATCH] drm/imagination: Set scheduler timeout period higher than Firmware timeout
From: Alessio Belle
Date: Thu Jul 30 2026 - 04:27:55 EST
On Wed, 2026-07-29 at 09:49 +0530, Brajesh Gupta wrote:
> Firmware schedule workloads on the GPU and tracks progress.
> It is also responsible for detecting any lockup and triggering recovery.
>
> Update the GPU scheduler timeout to a resonalbly high value to avoid
nit: resonalbly -> reasonably (will fix when applying this)
> premature timeout at the GPU scheduler end.
>
> Signed-off-by: Brajesh Gupta <brajesh.gupta@xxxxxxxxxx>
Reviewed-by: Alessio Belle <alessio.belle@xxxxxxxxxx>
Thanks,
Alessio
> ---
> drivers/gpu/drm/imagination/pvr_queue.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/imagination/pvr_queue.c b/drivers/gpu/drm/imagination/pvr_queue.c
> index 54e88b4208d7..09993e858df8 100644
> --- a/drivers/gpu/drm/imagination/pvr_queue.c
> +++ b/drivers/gpu/drm/imagination/pvr_queue.c
> @@ -17,6 +17,7 @@
> #include "pvr_rogue_fwif_client.h"
>
> #define MAX_DEADLINE_MS 30000
> +#define SCHED_TIMEOUT_PERIOD (2 * MAX_DEADLINE_MS)
>
> #define CTX_COMPUTE_CCCB_SIZE_LOG2 15
> #define CTX_FRAG_CCCB_SIZE_LOG2 15
> @@ -1283,7 +1284,7 @@ struct pvr_queue *pvr_queue_create(struct pvr_context *ctx,
> .submit_wq = pvr_dev->sched_wq,
> .credit_limit = 64 * 1024,
> .hang_limit = 1,
> - .timeout = msecs_to_jiffies(500),
> + .timeout = msecs_to_jiffies(SCHED_TIMEOUT_PERIOD),
> .timeout_wq = pvr_dev->sched_wq,
> .name = "pvr-queue",
> .dev = pvr_dev->base.dev,
>
> ---
> base-commit: e55fead22ff9ee047ab9f1903860c4b43043514e
> change-id: 20260729-sched_timeout-c981f354e853
>
> Best regards,