From 11a3f3dc2cf8d6127aae6183a69dcf3dde026305 Mon Sep 17 00:00:00 2001 From: Bhupesh Sharma Date: Sun, 24 Apr 2022 01:20:03 +0530 Subject: [PATCH] arm64: dts: qcom: sa8155p-adp: Disable multiple Tx and Rx queues for ethernet IP Fix the issues seen with ethernet traffic getting stalled on SA8155p-ADP board with default (or larger) mtu size of 1500 bytes, by disabling multiple Tx and Rx queues for the stmmac IP block. With the single queue setup, the ethernet traffic is stable, wget / curl can work well on the board and no ethernet stall is observed even when longer netperf / iperf3 test are run. Also a performance of ~940 Mbits/sec is observed on the 1G link, so there is no observable degradation in performance as well. Fixes: c5cb42cc8411 ("arm64: dts: qcom: sa8155p-adp: Enable ethernet node") Cc: Bjorn Andersson Cc: Vinod Koul Signed-off-by: Bhupesh Sharma Signed-off-by: Bjorn Andersson Link: https://lore.kernel.org/r/20220423195003.353150-1-bhupesh.sharma@linaro.org --- arch/arm64/boot/dts/qcom/sa8155p-adp.dts | 40 ++------------------------------ 1 file changed, 2 insertions(+), 38 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sa8155p-adp.dts b/arch/arm64/boot/dts/qcom/sa8155p-adp.dts index 8034d0d..ba547ca 100644 --- a/arch/arm64/boot/dts/qcom/sa8155p-adp.dts +++ b/arch/arm64/boot/dts/qcom/sa8155p-adp.dts @@ -49,7 +49,7 @@ }; mtl_rx_setup: rx-queues-config { - snps,rx-queues-to-use = <4>; + snps,rx-queues-to-use = <1>; snps,rx-sched-sp; queue0 { @@ -58,28 +58,10 @@ snps,route-up; snps,priority = <0x1>; }; - - queue1 { - snps,dcb-algorithm; - snps,map-to-dma-channel = <0x1>; - snps,route-ptp; - }; - - queue2 { - snps,avb-algorithm; - snps,map-to-dma-channel = <0x2>; - snps,route-avcp; - }; - - queue3 { - snps,avb-algorithm; - snps,map-to-dma-channel = <0x3>; - snps,priority = <0xC>; - }; }; mtl_tx_setup: tx-queues-config { - snps,tx-queues-to-use = <4>; + snps,tx-queues-to-use = <1>; snps,tx-sched-wrr; queue0 { @@ -87,24 +69,6 @@ snps,dcb-algorithm; snps,priority = <0x0>; }; - - queue1 { - snps,weight = <0x11>; - snps,dcb-algorithm; - snps,priority = <0x1>; - }; - - queue2 { - snps,weight = <0x12>; - snps,dcb-algorithm; - snps,priority = <0x2>; - }; - - queue3 { - snps,weight = <0x13>; - snps,dcb-algorithm; - snps,priority = <0x3>; - }; }; }; -- 2.7.4