ARM: imx: don't abort MMDC probe if power saving status doesn't match
authorLucas Stach <l.stach@pengutronix.de>
Mon, 27 Nov 2017 12:11:39 +0000 (13:11 +0100)
committerShawn Guo <shawnguo@kernel.org>
Tue, 26 Dec 2017 08:25:25 +0000 (16:25 +0800)
The power saving status bit will not signal if the MMDC is under load,
which is likely during kernel boot. There is no point in checking this
bit and aborting the probe, as there is nothing depending on power
saving being enabled, so we can trust the memory controller to enable
power saving when we allow it.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/mach-imx/mmdc.c

index 78262899a59031f8e5af1bc097fc71495cde294f..5fb1d2254b5e2be241858c8709a3e533a594ddd6 100644 (file)
@@ -547,7 +547,6 @@ static int imx_mmdc_probe(struct platform_device *pdev)
        struct device_node *np = pdev->dev.of_node;
        void __iomem *mmdc_base, *reg;
        u32 val;
-       int timeout = 0x400;
 
        mmdc_base = of_iomap(np, 0);
        WARN_ON(!mmdc_base);
@@ -565,16 +564,6 @@ static int imx_mmdc_probe(struct platform_device *pdev)
        val &= ~(1 << BP_MMDC_MAPSR_PSD);
        writel_relaxed(val, reg);
 
-       /* Ensure it's successfully enabled */
-       while (!(readl_relaxed(reg) & 1 << BP_MMDC_MAPSR_PSS) && --timeout)
-               cpu_relax();
-
-       if (unlikely(!timeout)) {
-               pr_warn("%s: failed to enable automatic power saving\n",
-                       __func__);
-               return -EBUSY;
-       }
-
        return imx_mmdc_perf_init(pdev, mmdc_base);
 }