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/9f4b057d-1985-5fd3-65c0-f944161c7792@microchip.com/ 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 <daire.mcnamara@microchip.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20220411072340.740981-1-conor.dooley@microchip.com Signed-off-by: Stephen Boyd <sboyd@kernel.org>
1 parent 3123109 commit 37843d0

1 file changed

Lines changed: 0 additions & 4 deletions

File tree

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)