2023-08-09 17:27:01

by Jisheng Zhang

[permalink] [raw]
Subject: [PATCH net-next v3 01/10] net: stmmac: correct RX COE parsing for xgmac

xgmac can support RX COE, but there's no two kinds of COE, I.E type 1
and type 2 COE.

Signed-off-by: Jisheng Zhang <[email protected]>
---
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index e1f1c034d325..15ed3947361b 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -6271,7 +6271,7 @@ static int stmmac_dma_cap_show(struct seq_file *seq, void *v)
seq_printf(seq, "\tAV features: %s\n", (priv->dma_cap.av) ? "Y" : "N");
seq_printf(seq, "\tChecksum Offload in TX: %s\n",
(priv->dma_cap.tx_coe) ? "Y" : "N");
- if (priv->synopsys_id >= DWMAC_CORE_4_00) {
+ if (priv->synopsys_id >= DWMAC_CORE_4_00 || priv->plat->has_xgmac) {
seq_printf(seq, "\tIP Checksum Offload in RX: %s\n",
(priv->dma_cap.rx_coe) ? "Y" : "N");
} else {
@@ -7013,7 +7013,7 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
if (priv->plat->rx_coe) {
priv->hw->rx_csum = priv->plat->rx_coe;
dev_info(priv->device, "RX Checksum Offload Engine supported\n");
- if (priv->synopsys_id < DWMAC_CORE_4_00)
+ if (priv->synopsys_id < DWMAC_CORE_4_00 && !priv->plat->has_xgmac)
dev_info(priv->device, "COE Type %d\n", priv->hw->rx_csum);
}
if (priv->plat->tx_coe)
--
2.40.1



2023-08-10 14:56:38

by Alexandre TORGUE

[permalink] [raw]
Subject: Re: [PATCH net-next v3 01/10] net: stmmac: correct RX COE parsing for xgmac

On 8/9/23 18:49, Jisheng Zhang wrote:
> xgmac can support RX COE, but there's no two kinds of COE, I.E type 1
> and type 2 COE.
>
> Signed-off-by: Jisheng Zhang <[email protected]>
> ---
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index e1f1c034d325..15ed3947361b 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -6271,7 +6271,7 @@ static int stmmac_dma_cap_show(struct seq_file *seq, void *v)
> seq_printf(seq, "\tAV features: %s\n", (priv->dma_cap.av) ? "Y" : "N");
> seq_printf(seq, "\tChecksum Offload in TX: %s\n",
> (priv->dma_cap.tx_coe) ? "Y" : "N");
> - if (priv->synopsys_id >= DWMAC_CORE_4_00) {
> + if (priv->synopsys_id >= DWMAC_CORE_4_00 || priv->plat->has_xgmac) {
> seq_printf(seq, "\tIP Checksum Offload in RX: %s\n",
> (priv->dma_cap.rx_coe) ? "Y" : "N");
> } else {
> @@ -7013,7 +7013,7 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
> if (priv->plat->rx_coe) {
> priv->hw->rx_csum = priv->plat->rx_coe;
> dev_info(priv->device, "RX Checksum Offload Engine supported\n");
> - if (priv->synopsys_id < DWMAC_CORE_4_00)
> + if (priv->synopsys_id < DWMAC_CORE_4_00 && !priv->plat->has_xgmac)
> dev_info(priv->device, "COE Type %d\n", priv->hw->rx_csum);
> }
> if (priv->plat->tx_coe)

Acked-by: Alexandre TORGUE <[email protected]>

Regards
Alex