drm/panfrost: Improve error reporting in panfrost_gpu_power_on
authorNicolas Boichat <drinkcat@chromium.org>
Fri, 7 Feb 2020 05:26:23 +0000 (13:26 +0800)
committerRob Herring <robh@kernel.org>
Tue, 25 Feb 2020 20:35:29 +0000 (14:35 -0600)
It is useful to know which component cannot be powered on.

Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200207052627.130118-4-drinkcat@chromium.org
drivers/gpu/drm/panfrost/panfrost_gpu.c

index 1b9b79cd5804d3cce02f9b17cd5a27f7f318b8f9..f2c1ddc41a9bf275960c1806e7bc1d547db3610a 100644 (file)
@@ -308,17 +308,20 @@ void panfrost_gpu_power_on(struct panfrost_device *pfdev)
        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);
+       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,
+       ret = readl_relaxed_poll_timeout(pfdev->iomem + SHADER_READY_LO,
                val, val == pfdev->features.shader_present, 100, 1000);
+       if (ret)
+               dev_err(pfdev->dev, "error powering up gpu shader");
 
        gpu_write(pfdev, TILER_PWRON_LO, pfdev->features.tiler_present);
-       ret |= readl_relaxed_poll_timeout(pfdev->iomem + TILER_READY_LO,
+       ret = readl_relaxed_poll_timeout(pfdev->iomem + TILER_READY_LO,
                val, val == pfdev->features.tiler_present, 100, 1000);
-
        if (ret)
-               dev_err(pfdev->dev, "error powering up gpu");
+               dev_err(pfdev->dev, "error powering up gpu tiler");
 }
 
 void panfrost_gpu_power_off(struct panfrost_device *pfdev)