memory: brcmstb: dpfe: introduce is_dcpu_enabled()
authorMarkus Mayer <mmayer@broadcom.com>
Mon, 2 Oct 2017 23:13:46 +0000 (16:13 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Fri, 6 Oct 2017 23:18:46 +0000 (16:18 -0700)
In order to check whether or not the DCPU is running, we introduce
a function called is_dcpu_enabled().

Signed-off-by: Markus Mayer <mmayer@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
drivers/memory/brcmstb_dpfe.c

index 21242c4..3516ee8 100644 (file)
@@ -202,17 +202,26 @@ static const u32 dpfe_commands[DPFE_CMD_MAX][MSG_FIELD_MAX] = {
        },
 };
 
+static bool is_dcpu_enabled(void __iomem *regs)
+{
+       u32 val;
+
+       val = readl_relaxed(regs + REG_DCPU_RESET);
+
+       return !(val & DCPU_RESET_MASK);
+}
+
 static void __disable_dcpu(void __iomem *regs)
 {
        u32 val;
 
-       /* Check if DCPU is running */
+       if (!is_dcpu_enabled(regs))
+               return;
+
+       /* Put DCPU in reset if it's running. */
        val = readl_relaxed(regs + REG_DCPU_RESET);
-       if (!(val & DCPU_RESET_MASK)) {
-               /* Put DCPU in reset */
-               val |= (1 << DCPU_RESET_SHIFT);
-               writel_relaxed(val, regs + REG_DCPU_RESET);
-       }
+       val |= (1 << DCPU_RESET_SHIFT);
+       writel_relaxed(val, regs + REG_DCPU_RESET);
 }
 
 static void __enable_dcpu(void __iomem *regs)