Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net: stmmac: dwmac-qcom-ethqos: Enable TBS on all queues but 0

TSO and TBS cannot co-exist. TBS requires special descriptor to be
allocated at bootup. Initialising Tx queues at probe to support
TSO and TBS can help in allocating those resources at bootup.

TX queues with TBS can support etf qdisc hw offload.

This is similar to the patch raised by NXP
commit 3b12ec8f618e ("net: stmmac: dwmac-imx: set TSO/TBS TX queues default settings")

Tested-by: Andrew Halaney <ahalaney@redhat.com> # sa8775p-ride
Signed-off-by: Abhishek Chauhan <quic_abchauha@quicinc.com>
Reviewed-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Reviewed-by: Andrew Halaney <ahalaney@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Abhishek Chauhan and committed by
David S. Miller
0918c1dc f7ab791d

+5 -1
+5 -1
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
··· 728 728 struct stmmac_resources stmmac_res; 729 729 struct device *dev = &pdev->dev; 730 730 struct qcom_ethqos *ethqos; 731 - int ret; 731 + int ret, i; 732 732 733 733 ret = stmmac_get_platform_resources(pdev, &stmmac_res); 734 734 if (ret) ··· 821 821 plat_dat->serdes_powerup = qcom_ethqos_serdes_powerup; 822 822 plat_dat->serdes_powerdown = qcom_ethqos_serdes_powerdown; 823 823 } 824 + 825 + /* Enable TSO on queue0 and enable TBS on rest of the queues */ 826 + for (i = 1; i < plat_dat->tx_queues_to_use; i++) 827 + plat_dat->tx_queues_cfg[i].tbs_en = 1; 824 828 825 829 return devm_stmmac_pltfr_probe(pdev, plat_dat, &stmmac_res); 826 830 }