arm64: dts: qcom: sa8155p-adp: Disable multiple Tx and Rx queues for ethernet IP
authorBhupesh Sharma <bhupesh.sharma@linaro.org>
Sat, 23 Apr 2022 19:50:03 +0000 (01:20 +0530)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 6 May 2022 03:11:09 +0000 (22:11 -0500)
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 <bjorn.andersson@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220423195003.353150-1-bhupesh.sharma@linaro.org
arch/arm64/boot/dts/qcom/sa8155p-adp.dts

index 8034d0d..ba547ca 100644 (file)
@@ -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 {
                        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 {
                        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>;
-               };
        };
 };