drm/panfrost: Increase the AS_ACTIVE polling timeout
authorBoris Brezillon <boris.brezillon@collabora.com>
Wed, 30 Jun 2021 06:27:51 +0000 (08:27 +0200)
committerBoris Brezillon <boris.brezillon@collabora.com>
Thu, 1 Jul 2021 06:53:38 +0000 (08:53 +0200)
Experience has shown that 1ms is sometimes not enough, even when the GPU
is running at its maximum frequency, not to mention that an MMU operation
might take longer if the GPU is running at a lower frequency, which is
likely to be the case if devfreq is active.

Let's pick a significantly bigger timeout value (1ms -> 100ms) to be on
the safe side.

v5:
* New patch

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210630062751.2832545-17-boris.brezillon@collabora.com
drivers/gpu/drm/panfrost/panfrost_mmu.c

index e0356e6..0da5b31 100644 (file)
@@ -34,7 +34,7 @@ static int wait_ready(struct panfrost_device *pfdev, u32 as_nr)
        /* Wait for the MMU status to indicate there is no active command, in
         * case one is pending. */
        ret = readl_relaxed_poll_timeout_atomic(pfdev->iomem + AS_STATUS(as_nr),
-               val, !(val & AS_STATUS_AS_ACTIVE), 10, 1000);
+               val, !(val & AS_STATUS_AS_ACTIVE), 10, 100000);
 
        if (ret) {
                /* The GPU hung, let's trigger a reset */