]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
arm64: dts: rockchip: Add GPU power domain regulator dependency for RK3588
authorSebastian Reichel <sebastian.reichel@collabora.com>
Thu, 20 Feb 2025 18:58:11 +0000 (19:58 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 28 Feb 2025 13:44:49 +0000 (14:44 +0100)
commitf94500eb7328b35f3d0927635b1aba26c85ea4b0
treebe2b83ee28fc26e44cbe7811e3885d53ddcd7210
parent254324dbe364fb058279486767fa82cd2456595d
arm64: dts: rockchip: Add GPU power domain regulator dependency for RK3588

Enabling the GPU power domain requires that the GPU regulator is
enabled. The regulator is enabled at boot time, but gets disabled
automatically when there are no users.

This means the system might run into a failure state hanging the
whole system for the following use cases:

 * if the GPU driver is being probed late (e.g. build as a
   module and firmware is not in initramfs), the regulator
   might already have been disabled. In that case the power
   domain is enabled before the regulator.
 * unbinding the GPU driver will disable the PM domain and
   the regulator. When the driver is bound again, the PM
   domain will be enabled before the regulator and error
   appears.

Avoid this by adding an explicit regulator dependency to the
power domain.

Tested-by: Heiko Stuebner <heiko@sntech.de>
Reported-by: Adrián Martínez Larumbe <adrian.larumbe@collabora.com>
Tested-by: Adrian Larumbe <adrian.larumbe@collabora.com> # On Rock 5B
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20250220-rk3588-gpu-pwr-domain-regulator-v6-8-a4f9c24e5b81@kernel.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
30 files changed:
arch/arm64/boot/dts/rockchip/rk3588-armsom-lm7.dtsi
arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi
arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-common.dtsi
arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
arch/arm64/boot/dts/rockchip/rk3588-fet3588-c.dtsi
arch/arm64/boot/dts/rockchip/rk3588-firefly-core-3588j.dtsi
arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588.dtsi
arch/arm64/boot/dts/rockchip/rk3588-h96-max-v58.dts
arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5.dtsi
arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
arch/arm64/boot/dts/rockchip/rk3588-rock-5-itx.dts
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts
arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi
arch/arm64/boot/dts/rockchip/rk3588s-coolpi-4b.dts
arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts
arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
arch/arm64/boot/dts/rockchip/rk3588s-odroid-m2.dts
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi
arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
arch/arm64/boot/dts/rockchip/rk3588s-rock-5c.dts