]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/panfrost: increase readl_relaxed_poll_timeout values
authorChristian Hewitt <christianshewitt@gmail.com>
Thu, 8 Oct 2020 14:17:38 +0000 (14:17 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 09:07:49 +0000 (10:07 +0100)
[ Upstream commit c2df75ad2a9f205820e4bc0db936d3d9af3da1ae ]

Amlogic SoC devices report the following errors frequently causing excessive
dmesg log spam and early log rotataion, although the errors appear to be
harmless as everything works fine:

[    7.202702] panfrost ffe40000.gpu: error powering up gpu L2
[    7.203760] panfrost ffe40000.gpu: error powering up gpu shader

ARM staff have advised increasing the timeout values to eliminate the errors
in most normal scenarios, and testing with several different G31/G52 devices
shows 20000 to be a reliable value.

Fixes: f3ba91228e8e ("drm/panfrost: Add initial panfrost driver")
Suggested-by: Steven Price <steven.price@arm.com>
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201008141738.13560-1-christianshewitt@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/panfrost/panfrost_gpu.c

index 689b92893e0e195fdc43b582cbbfc2213b3cd5e6..dfe4c9151eaf216ec2a2deb2de6d41ee6e6a6854 100644 (file)
@@ -309,13 +309,13 @@ void panfrost_gpu_power_on(struct panfrost_device *pfdev)
        /* Just turn on everything for now */
        gpu_write(pfdev, L2_PWRON_LO, pfdev->features.l2_present);
        ret = readl_relaxed_poll_timeout(pfdev->iomem + L2_READY_LO,
-               val, val == pfdev->features.l2_present, 100, 1000);
+               val, val == pfdev->features.l2_present, 100, 20000);
        if (ret)
                dev_err(pfdev->dev, "error powering up gpu L2");
 
        gpu_write(pfdev, SHADER_PWRON_LO, pfdev->features.shader_present);
        ret = readl_relaxed_poll_timeout(pfdev->iomem + SHADER_READY_LO,
-               val, val == pfdev->features.shader_present, 100, 1000);
+               val, val == pfdev->features.shader_present, 100, 20000);
        if (ret)
                dev_err(pfdev->dev, "error powering up gpu shader");