Commit c2df75ad authored by Christian Hewitt's avatar Christian Hewitt Committed by Steven Price

drm/panfrost: increase readl_relaxed_poll_timeout values

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: f3ba9122 ("drm/panfrost: Add initial panfrost driver")
Suggested-by: default avatarSteven Price <steven.price@arm.com>
Signed-off-by: default avatarChristian Hewitt <christianshewitt@gmail.com>
Reviewed-by: default avatarSteven Price <steven.price@arm.com>
Signed-off-by: default avatarSteven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201008141738.13560-1-christianshewitt@gmail.com
parent 6561e0aa
...@@ -325,13 +325,13 @@ void panfrost_gpu_power_on(struct panfrost_device *pfdev) ...@@ -325,13 +325,13 @@ void panfrost_gpu_power_on(struct panfrost_device *pfdev)
/* Just turn on everything for now */ /* Just turn on everything for now */
gpu_write(pfdev, L2_PWRON_LO, pfdev->features.l2_present); gpu_write(pfdev, L2_PWRON_LO, pfdev->features.l2_present);
ret = readl_relaxed_poll_timeout(pfdev->iomem + L2_READY_LO, 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) if (ret)
dev_err(pfdev->dev, "error powering up gpu L2"); dev_err(pfdev->dev, "error powering up gpu L2");
gpu_write(pfdev, SHADER_PWRON_LO, pfdev->features.shader_present); gpu_write(pfdev, SHADER_PWRON_LO, pfdev->features.shader_present);
ret = readl_relaxed_poll_timeout(pfdev->iomem + SHADER_READY_LO, 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) if (ret)
dev_err(pfdev->dev, "error powering up gpu shader"); dev_err(pfdev->dev, "error powering up gpu shader");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment