diff mbox series

arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu

Message ID 20240702-rk356x-fix-vop-mmu-v1-1-a66d1a0c45ea@collabora.com (mailing list archive)
State New
Headers show
Series arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu | expand

Commit Message

Cristian Ciocaltea July 2, 2024, 1:12 a.m. UTC
The iommu@fe043e00 on RK356x SoC shares the VOP power domain, but the
power-domains property was not provided when the node has been added.

The consequence is that an attempt to reload the rockchipdrm module will
freeze the entire system.  That is because on probe time,
pm_runtime_get_suppliers() gets called for vop@fe040000, which blocks
when pm_runtime_get_sync() is being invoked for iommu@fe043e00.

Fix the issue by adding the missing property.

Fixes: 9d6c6d978f97 ("arm64: dts: rockchip: rk356x: Add VOP2 nodes")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
 arch/arm64/boot/dts/rockchip/rk356x.dtsi | 1 +
 1 file changed, 1 insertion(+)


---
base-commit: 1eb586a9782cde8e5091b9de74603e0a8386b09e
change-id: 20240702-rk356x-fix-vop-mmu-a235d68a734a

Comments

Heiko Stuebner July 4, 2024, 6:01 p.m. UTC | #1
On Tue, 02 Jul 2024 04:12:52 +0300, Cristian Ciocaltea wrote:
> The iommu@fe043e00 on RK356x SoC shares the VOP power domain, but the
> power-domains property was not provided when the node has been added.
> 
> The consequence is that an attempt to reload the rockchipdrm module will
> freeze the entire system.  That is because on probe time,
> pm_runtime_get_suppliers() gets called for vop@fe040000, which blocks
> when pm_runtime_get_sync() is being invoked for iommu@fe043e00.
> 
> [...]

Applied, thanks!

[1/1] arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu
      commit: 9d42c3ee3ce37cdad6f98c9e77bfbd0d791ac7da

Best regards,
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
index d8543b5557ee..3e2a8bfcafea 100644
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
@@ -790,6 +790,7 @@  vop_mmu: iommu@fe043e00 {
 		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
 		clock-names = "aclk", "iface";
 		#iommu-cells = <0>;
+		power-domains = <&power RK3568_PD_VO>;
 		status = "disabled";
 	};