Message ID | 20240207001036.1333450-1-quic_abchauha@quicinc.com |
---|---|
State | Accepted |
Commit | 0918c1dcd55cfe3b8f9844731dc68eee948c9f92 |
Headers | show |
Series | [v2] net: stmmac: dwmac-qcom-ethqos: Enable TBS on all queues but 0 | expand |
On 2/6/2024 4:10 PM, Abhishek Chauhan wrote: > 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 <3b12ec8f618e> > <"net: stmmac: dwmac-imx: set TSO/TBS TX queues default settings"> note that there is a standard way to refer to a prior patch, in your case: 3b12ec8f618e ("net: stmmac: dwmac-imx: set TSO/TBS TX queues default settings") (note this format is defined in the context of the Fixes tag at <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes>) /jeff
On Wed, Feb 07, 2024 at 10:19:34AM -0800, Jakub Kicinski wrote: > On Wed, 7 Feb 2024 09:26:05 -0800 Jeff Johnson wrote: > > > This is similar to the patch raised by NXP <3b12ec8f618e> > > > <"net: stmmac: dwmac-imx: set TSO/TBS TX queues default settings"> > > > > note that there is a standard way to refer to a prior patch, in your case: > > 3b12ec8f618e ("net: stmmac: dwmac-imx: set TSO/TBS TX queues default > > settings") > > Yes, please fix. > > > (note this format is defined in the context of the Fixes tag at > > <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes>) > > A fixes tag would be great. But we can't point at 3b12ec8f618e, right? > Can someone explain what the user-visible problem is? > TBS cannot be used? Device reinit is require to enable it? > I'm not sure you'd consider this a fix, but yes the syntax there should be using that fixes style for sure. This enables the ability to use TBS / etf on queues other than 0. So I'd consider this a new feature for the Qualcomm variant of things here personally. Longer term it would be nice to be able to change which queues can do what via ethtool as was discussed over here, but for now this at least improves things and follows suit with the imx and intel variants: https://lore.kernel.org/netdev/c2497eef-1041-4cd0-8220-42622c8902f4@quicinc.com/ Thanks, Andrew
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index 31631e3f89d0..d2f9b8f6c027 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -728,7 +728,7 @@ static int qcom_ethqos_probe(struct platform_device *pdev) struct stmmac_resources stmmac_res; struct device *dev = &pdev->dev; struct qcom_ethqos *ethqos; - int ret; + int ret, i; ret = stmmac_get_platform_resources(pdev, &stmmac_res); if (ret) @@ -822,6 +822,10 @@ static int qcom_ethqos_probe(struct platform_device *pdev) plat_dat->serdes_powerdown = qcom_ethqos_serdes_powerdown; } + /*Enable TSO on queue0 and enable TBS on rest of the queues*/ + for (i = 1; i < plat_dat->tx_queues_to_use; i++) + plat_dat->tx_queues_cfg[i].tbs_en = 1; + return devm_stmmac_pltfr_probe(pdev, plat_dat, &stmmac_res); }
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 <3b12ec8f618e> <"net: stmmac: dwmac-imx: set TSO/TBS TX queues default settings"> Changes since v1: - Subject is changed as per upstream guidelines - Added a reference of a similar change done by NXP in body of the commit message Signed-off-by: Abhishek Chauhan <quic_abchauha@quicinc.com> --- drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)