[PW_SID:969991] clk: spacemit: mark K1 pll1_d8 as critical#492
[PW_SID:969991] clk: spacemit: mark K1 pll1_d8 as critical#492linux-riscv-bot wants to merge 2 commits into
Conversation
The pll1_d8 clock is enabled by the boot loader, and is ultimately a parent for numerous clocks, including those used by APB and AXI buses. Guodong Xu discovered that this clock got disabled while responding to getting -EPROBE_DEFER when requesting a reset controller. The needed clock (CLK_DMA, along with its parents) had already been enabled. To respond to the probe deferral return, the CLK_DMA clock was disabled, and this led to parent clocks also reducing their enable count. When the enable count for pll1_d8 was decremented it became 0, which caused it to be disabled. This led to a system hang. Marking that clock critical resolves this by preventing it from being disabled. Define a new macro CCU_FACTOR_GATE_DEFINE() to allow clock flags to be supplied for a CCU_FACTOR_GATE clock. Fixes: 1b72c59 ("clk: spacemit: Add clock support for SpacemiT K1 SoC") Signed-off-by: Alex Elder <elder@riscstar.com> Tested-by: Guodong Xu <guodong@riscstar.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
|
Patch 1: "clk: spacemit: mark K1 pll1_d8 as critical" |
372a693 to
d72cbb0
Compare
PR for series 969991 applied to workflow
Name: clk: spacemit: mark K1 pll1_d8 as critical
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=969991
Version: 1