OSDN Git Service

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 7826289..5fb1d22 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);
 }