linux/drivers/clk/bcm
Maíra Canal 522567362b
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: 672299736a ("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>
2026-04-25 10:51:23 -07:00
..
clk-bcm63xx-gate.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-bcm63xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-bcm281xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-bcm2711-dvp.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-bcm2835-aux.c kbuild, clk: bcm2835: remove MODULE_LICENSE in non-modules 2023-03-06 11:29:15 -08:00
clk-bcm2835.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
clk-bcm21664.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-bcm53573-ilp.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
clk-bcm63268-timer.c clk: bcm: Add BCM63268 timer clock and reset driver 2023-03-27 13:18:07 -07:00
clk-cygnus.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-hr2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-iproc-armpll.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
clk-iproc-asiu.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
clk-iproc-pll.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
clk-iproc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-kona-setup.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-kona.c clk: bcm: kona: Remove unused scaled_div_build 2025-05-06 14:35:50 -07:00
clk-kona.h clk: bcm: kona: Remove unused scaled_div_build 2025-05-06 14:35:50 -07:00
clk-ns2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-nsp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 1) 2022-06-10 14:51:35 +02:00
clk-raspberrypi.c clk: bcm: rpi: Mark VEC clock as CLK_IGNORE_UNUSED 2026-04-25 10:51:23 -07:00
clk-sr.c clk: Explicitly include correct DT includes 2023-07-19 13:13:16 -07:00
Kconfig clk: bcm: Add BCM63268 timer clock and reset driver 2023-03-27 13:18:07 -07:00
Makefile clk: bcm: Add BCM63268 timer clock and reset driver 2023-03-27 13:18:07 -07:00