Message ID | 20250121093703.2660482-1-chenhuacai@loongson.cn (mailing list archive) |
---|---|
State | New |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: stmmac: dwmac-loongson: Set correct {tx,rx}_fifo_size | expand |
+ Feiyang Chen, Yanteng Si, Alexandre Torgue, Maxime Coquelin, Serge Semin, linux-arm-kernel On Tue, Jan 21, 2025 at 05:37:03PM +0800, Huacai Chen wrote: > Now for dwmac-loongson {tx,rx}_fifo_size are uninitialised, which means > zero. This means dwmac-loongson doesn't support changing MTU, so set the > correct tx_fifo_size and rx_fifo_size for it (16KB multiplied by channel > counts). > > Note: the Fixes tag is not exactly right, but it is a key commit of the > dwmac-loongson series. > > Cc: stable@vger.kernel.org > Fixes: ad72f783de06827a1f ("net: stmmac: Add multi-channel support") > Signed-off-by: Chong Qiao <qiaochong@loongson.cn> > Signed-off-by: Huacai Chen <chenhuacai@loongson.cn> Thanks, this change looks good to me. And I agree that MTU setting cannot succeed without it. Reviewed-by: Simon Horman <horms@kernel.org> Some process notes regarding Networking patches to keep in mind for next time. 1. Please set the target tree. In this case, as this is a fix for code present in net. In general, otherwise it would be net-next. Subject: [PATCH net] ... 2. Please generate a CC list using ./scripts/get_maintainer.pl this.patch The b4 tool can help with this. Link: https://docs.kernel.org/process/maintainer-netdev.html > --- > drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c > index bfe6e2d631bd..79acdf38c525 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c > @@ -574,6 +574,9 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id > if (ret) > goto err_disable_device; > > + plat->tx_fifo_size = SZ_16K * plat->tx_queues_to_use; > + plat->rx_fifo_size = SZ_16K * plat->rx_queues_to_use; > + > if (dev_of_node(&pdev->dev)) > ret = loongson_dwmac_dt_config(pdev, plat, &res); > else > -- > 2.47.1 > >
在 1/21/25 17:37, Huacai Chen 写道: > Now for dwmac-loongson {tx,rx}_fifo_size are uninitialised, which means > zero. This means dwmac-loongson doesn't support changing MTU, so set the > correct tx_fifo_size and rx_fifo_size for it (16KB multiplied by channel > counts). > > Note: the Fixes tag is not exactly right, but it is a key commit of the > dwmac-loongson series. > > Cc: stable@vger.kernel.org > Fixes: ad72f783de06827a1f ("net: stmmac: Add multi-channel support") > Signed-off-by: Chong Qiao <qiaochong@loongson.cn> > Signed-off-by: Huacai Chen <chenhuacai@loongson.cn> Acked-by: Yanteng Si <si.yanteng@linux.dev> Thanks, Yanteng > --- > drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c > index bfe6e2d631bd..79acdf38c525 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c > @@ -574,6 +574,9 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id > if (ret) > goto err_disable_device; > > + plat->tx_fifo_size = SZ_16K * plat->tx_queues_to_use; > + plat->rx_fifo_size = SZ_16K * plat->rx_queues_to_use; > + > if (dev_of_node(&pdev->dev)) > ret = loongson_dwmac_dt_config(pdev, plat, &res); > else
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c index bfe6e2d631bd..79acdf38c525 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c @@ -574,6 +574,9 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id if (ret) goto err_disable_device; + plat->tx_fifo_size = SZ_16K * plat->tx_queues_to_use; + plat->rx_fifo_size = SZ_16K * plat->rx_queues_to_use; + if (dev_of_node(&pdev->dev)) ret = loongson_dwmac_dt_config(pdev, plat, &res); else