Skip to content

Commit 6c54228

Browse files
mripardbebarino
authored andcommitted
clk: bcm2835: Make peripheral PLLC critical
When testing for a series affecting the VEC, it was discovered that turning off and on the VEC clock is crashing the system. It turns out that, when disabling the VEC clock, it's the only child of the PLLC-per clock which will also get disabled. The source of the crash is PLLC-per being disabled. It's likely that some other device might not take a clock reference that it actually needs, but it's unclear which at this point. Let's make PLLC-per critical so that we don't have that crash. Reported-by: Noralf Trønnes <[email protected]> Signed-off-by: Maxime Ripard <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Stefan Wahren <[email protected]> Acked-by: Noralf Trønnes <[email protected]> Signed-off-by: Stephen Boyd <[email protected]>
1 parent 568035b commit 6c54228

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/clk/bcm/clk-bcm2835.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1784,7 +1784,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
17841784
.load_mask = CM_PLLC_LOADPER,
17851785
.hold_mask = CM_PLLC_HOLDPER,
17861786
.fixed_divider = 1,
1787-
.flags = CLK_SET_RATE_PARENT),
1787+
.flags = CLK_IS_CRITICAL | CLK_SET_RATE_PARENT),
17881788

17891789
/*
17901790
* PLLD is the display PLL, used to drive DSI display panels.

0 commit comments

Comments
 (0)