Skip to content

Commit 5225673

Browse files
mairacanalbebarino
authored andcommitted
clk: bcm: rpi: Mark VEC clock as CLK_IGNORE_UNUSED
On Raspberry Pi 3B, the VEC clock is used by the VideoCore firmware display driver, which remains active until the vc4 driver loads and sends NOTIFY_DISPLAY_DONE. If this clock is disabled during boot, a bus lockup happens and the firmware becomes unresponsive, causing a complete system lockup. Mark the VEC clock with CLK_IGNORE_UNUSED so it survives the unused clock disablement and remains available until the vc4 driver takes over display management. Fixes: 6722997 ("clk: bcm: rpi: Manage clock rate in prepare/unprepare callbacks") Reported-by: Mark Brown <broonie@kernel.org> Closes: https://lore.kernel.org/r/5f0bec08-f458-4fba-8bf3-06817a100c4c@sirena.org.uk Signed-off-by: Maíra Canal <mcanal@igalia.com> Link: https://patch.msgid.link/20260401111416.562279-2-mcanal@igalia.com Tested-by: Mark Brown <broonie@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org> Acked-by: Brian Masney <bmasney@redhat.com> # Active contributor to clk Reviewed-by: Stefan Wahren <wahrenst@gmx.net> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
1 parent 6b701fd commit 5225673

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

drivers/clk/bcm/clk-raspberrypi.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,13 @@ raspberrypi_clk_variants[RPI_FIRMWARE_NUM_CLK_ID] = {
160160
[RPI_FIRMWARE_VEC_CLK_ID] = {
161161
.export = true,
162162
.minimize = true,
163+
164+
/*
165+
* If this clock is disabled during boot, it causes a bus
166+
* lockup in RPi 3B. Therefore, make sure it's left enabled
167+
* during boot.
168+
*/
169+
.flags = CLK_IGNORE_UNUSED,
163170
},
164171
[RPI_FIRMWARE_DISP_CLK_ID] = {
165172
.export = true,

0 commit comments

Comments
 (0)