Skip to contentSkip to conversation

arm64: dts: hisilicon: hi3798cv200: Add missing dma-ranges

PATCH Applied Shawn Guo 2 participants 2 messages Feb 27 – Mar 21

Subsystems (3)
lore
Share & tools
lore

Shawn Guo

author
#0 lore raw

PATCH 1/1 arm64: dts: hisilicon: hi3798cv200: Add missing dma-ranges

Reboot starts failing on Poplar since commit 8424ecdde7df ("arm64: mm:
Set ZONE_DMA size based on devicetree's dma-ranges"), which effectively changes zone_dma_bits from 30 to 32 for arm64 platforms that do not properly define dma-ranges in device tree. It's unclear how Poplar reboot gets broken by this change exactly, but a dma-ranges limiting zone_dma to the first 1 GB fixes the regression.

Fixes 2f20182ed670 ("arm64: dts: hisilicon: add dts files for hi3798cv200-poplar board")
---
 arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi | 1 +
 1 file changed, 1 insertion(+)
arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi +1 -0
index f6bc001c3832..2f4ad5da5e33 100644
@@ -122,6 +122,7 @@ soc: soc@f0000000 {
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x0 0x0 0xf0000000 0x10000000>;
+		dma-ranges = <0x0 0x0 0x0 0x40000000>;
 
 		crg: clock-reset-controller@8a22000 {
 			compatible = "hisilicon,hi3798cv200-crg", "syscon", "simple-mfd";
Signature · 1 line
2.47.3
maintainer Applied
#1 lore raw

Hi Shawn,

Quoted 20 lines · Shawn Guo

Reboot starts failing on Poplar since commit 8424ecdde7df ("arm64: mm:
Set ZONE_DMA size based on devicetree's dma-ranges"), which effectively changes zone_dma_bits from 30 to 32 for arm64 platforms that do not properly define dma-ranges in device tree. It's unclear how Poplar reboot gets broken by this change exactly, but a dma-ranges limiting zone_dma to the first 1 GB fixes the regression.

Fixes 2f20182ed670 ("arm64: dts: hisilicon: add dts files for hi3798cv200-poplar board")
---
 arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi | 1 +
 1 file changed, 1 insertion(+)
arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi +0 -0
index f6bc001c3832..2f4ad5da5e33 100644

arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi soc: soc@f0000000 { · line 128

Quoted 7 lines
arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi +1 -0
@@ -122,6 +122,7 @@ soc: soc@f0000000 {
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x0 0x0 0xf0000000 0x10000000>;
+		dma-ranges = <0x0 0x0 0x0 0x40000000>;
 
 		crg: clock-reset-controller@8a22000 {
 			compatible = "hisilicon,hi3798cv200-crg", "syscon", "simple-mfd";

Applied to the HiSilicon arm64 dt tree.
Thanks!

Best Regards,
Wei