Commit 522567362b63 for kernel

commit 522567362b634015ca85b5460482ee0843feb105
Author: Maíra Canal <mcanal@igalia.com>
Date:   Fri Apr 24 16:34:52 2026 +0100

    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: 672299736af6 ("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>

diff --git a/drivers/clk/bcm/clk-raspberrypi.c b/drivers/clk/bcm/clk-raspberrypi.c
index df2d246eb6ef..f1a99de6de4f 100644
--- a/drivers/clk/bcm/clk-raspberrypi.c
+++ b/drivers/clk/bcm/clk-raspberrypi.c
@@ -160,6 +160,13 @@ raspberrypi_clk_variants[RPI_FIRMWARE_NUM_CLK_ID] = {
 	[RPI_FIRMWARE_VEC_CLK_ID] = {
 		.export = true,
 		.minimize = true,
+
+		/*
+		 * If this clock is disabled during boot, it causes a bus
+		 * lockup in RPi 3B. Therefore, make sure it's left enabled
+		 * during boot.
+		 */
+		.flags = CLK_IGNORE_UNUSED,
 	},
 	[RPI_FIRMWARE_DISP_CLK_ID] = {
 		.export = true,