|
@@ -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)
|