From e192640666f19ac3125a085894e706ce4e792aa6 Mon Sep 17 00:00:00 2001 From: William Wu Date: Fri, 25 Jan 2019 19:36:41 +0800 Subject: [PATCH] arm64: dts: rockchip: increase atomic coherent pool size for rk3399/rk3328 The Seagate Expansion Portable Drive HDD (ext4 file system, idVendor=0bc2, idProduct=2321) is reported to fail to work on the rk3399/rk3328 platforms USB 3.0 interface with the following error message when do read/write operation by dd command: xhci-hcd xhci-hcd.11.auto: Ring expansion failed It's because that xHCI use the dma_pool_alloc() to allocate DMA buffer for segment_pool with GFP_ATOMIC flag, however, the default 256 KiB coherent pool is too small for the USB HDD, so increase it to 1024 KiB to make sure that devices will be able to allocate their DMA buffers with GFP_ATOMIC flag. Change-Id: Ic94c9ceeeb4adabe860af46546550aa8f73f11ca Signed-off-by: William Wu --- arch/arm64/boot/dts/rockchip/rk3328-android.dtsi | 2 +- arch/arm64/boot/dts/rockchip/rk3328-evb.dts | 2 +- arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 2 +- arch/arm64/boot/dts/rockchip/rk3399-android-6.0.dtsi | 2 +- arch/arm64/boot/dts/rockchip/rk3399-android.dtsi | 2 +- arch/arm64/boot/dts/rockchip/rk3399-firefly-android.dts | 2 +- arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi | 2 +- arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts | 2 +- .../boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts | 2 +- arch/arm64/boot/dts/rockchip/rk3399-tve1030g-avb.dts | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3328-android.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-android.dtsi index ae61544871df..e7205336027d 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328-android.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328-android.dtsi @@ -6,7 +6,7 @@ / { chosen { - bootargs = "earlyprintk=uart8250-32bit,0xff130000 swiotlb=1 kpti=0"; + bootargs = "earlyprintk=uart8250-32bit,0xff130000 swiotlb=1 kpti=0 coherent_pool=1m"; }; fiq-debugger { diff --git a/arch/arm64/boot/dts/rockchip/rk3328-evb.dts b/arch/arm64/boot/dts/rockchip/rk3328-evb.dts index 8b36bd7bd7fd..69d25c4e7f4f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328-evb.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-evb.dts @@ -49,7 +49,7 @@ compatible = "rockchip,rk3328-evb", "rockchip,rk3328"; chosen { - bootargs = "earlycon=uart8250,mmio32,0xff130000 swiotlb=1 kpti=0 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootwait"; + bootargs = "earlycon=uart8250,mmio32,0xff130000 swiotlb=1 kpti=0 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootwait coherent_pool=1m"; }; fiq-debugger { diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts index 4b2eef609601..5e9cbbabd458 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts @@ -48,7 +48,7 @@ compatible = "pine64,rock64", "rockchip,rk3328"; chosen { - bootargs = "rockchip_jtag earlyprintk=uart8250-32bit,0xff130000 swiotlb=1 kpti=0"; + bootargs = "rockchip_jtag earlyprintk=uart8250-32bit,0xff130000 swiotlb=1 kpti=0 coherent_pool=1m"; stdout-path = "serial2:1500000n8"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3399-android-6.0.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-android-6.0.dtsi index ede5757e0e03..54b7cabf201b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-android-6.0.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-android-6.0.dtsi @@ -52,7 +52,7 @@ }; chosen { - bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1"; + bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 coherent_pool=1m"; }; cpuinfo { diff --git a/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi index 25606cbf8a2b..a1ed5c23ed4a 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi @@ -48,7 +48,7 @@ compatible = "rockchip,android", "rockchip,rk3399"; chosen { - bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1"; + bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 coherent_pool=1m"; }; cpuinfo { diff --git a/arch/arm64/boot/dts/rockchip/rk3399-firefly-android.dts b/arch/arm64/boot/dts/rockchip/rk3399-firefly-android.dts index 18bc090e8fa8..d453bac6fe5c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-firefly-android.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-firefly-android.dts @@ -54,7 +54,7 @@ compatible = "rockchip,rk3399-firefly-android", "rockchip,rk3399"; chosen { - bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1"; + bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 coherent_pool=1m"; }; cpuinfo { diff --git a/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi index a153bc06facc..b1361da6c5fe 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi @@ -47,7 +47,7 @@ compatible = "rockchip,linux", "rockchip,rk3399"; chosen { - bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 rw root=PARTUUID=614e0000-0000 rootfstype=ext4 rootwait"; + bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 rw root=PARTUUID=614e0000-0000 rootfstype=ext4 rootwait coherent_pool=1m"; }; reserved-memory { diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts index e49be4035da6..c27eb1458ca7 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts @@ -15,7 +15,7 @@ compatible = "pine64,rockpro64", "rockchip,rk3399"; chosen { - bootargs = "earlyprintk=uart8250,mmio32,0xff1a0000 swiotlb=1"; + bootargs = "earlyprintk=uart8250,mmio32,0xff1a0000 swiotlb=1 coherent_pool=1m"; stdout-path = "serial2:1500000n8"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts index 2e3acc91a581..3d7bd0c4c2c7 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp-avb.dts @@ -10,7 +10,7 @@ model = "Rockchip RK3399 Excavator Board edp avb (Android)"; compatible = "rockchip,android", "rockchip,rk3399-excavator-edp-avb", "rockchip,rk3399"; chosen { - bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 androidboot.baseband=N/A androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000001,0x00800000"; + bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 androidboot.baseband=N/A androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000001,0x00800000 coherent_pool=1m"; }; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3399-tve1030g-avb.dts b/arch/arm64/boot/dts/rockchip/rk3399-tve1030g-avb.dts index 8e13cd62bea5..6fd008542ba4 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-tve1030g-avb.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-tve1030g-avb.dts @@ -9,7 +9,7 @@ / { compatible = "rockchip,rk3399-tve1030g-avb", "rockchip,rk3399"; chosen { - bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 androidboot.baseband=N/A androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000001,0x00800000"; + bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 androidboot.baseband=N/A androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init initrd=0x62000001,0x00800000 coherent_pool=1m"; }; };