Skip to content

Commit 37843d0

Browse files
ConchuODbebarino
authored andcommitted
clk: microchip: mpfs: don't reset disabled peripherals
The current clock driver for PolarFire SoC puts the hardware behind "periph" clocks into reset if their clock is disabled. CONFIG_PM was recently added to the riscv defconfig and exposed issues caused by this behaviour, where the Cadence GEM was being put into reset between its bringup & the PHY bringup: https://lore.kernel.org/linux-riscv/[email protected]/ Fix this (for now) by removing the reset from mpfs_periph_clk_disable. Fixes: 635e5e7 ("clk: microchip: Add driver for Microchip PolarFire SoC") Reviewed-by: Daire McNamara <[email protected]> Signed-off-by: Conor Dooley <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Stephen Boyd <[email protected]>
1 parent 3123109 commit 37843d0

File tree

1 file changed

+0
-4
lines changed

1 file changed

+0
-4
lines changed

drivers/clk/microchip/clk-mpfs.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,10 +200,6 @@ static void mpfs_periph_clk_disable(struct clk_hw *hw)
200200

201201
spin_lock_irqsave(&mpfs_clk_lock, flags);
202202

203-
reg = readl_relaxed(base_addr + REG_SUBBLK_RESET_CR);
204-
val = reg | (1u << periph->shift);
205-
writel_relaxed(val, base_addr + REG_SUBBLK_RESET_CR);
206-
207203
reg = readl_relaxed(base_addr + REG_SUBBLK_CLOCK_CR);
208204
val = reg & ~(1u << periph->shift);
209205
writel_relaxed(val, base_addr + REG_SUBBLK_CLOCK_CR);

0 commit comments

Comments
 (0)