netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/5] net: ethernet: cortina: TSO and pause param
@ 2024-05-10 22:08 Linus Walleij
  2024-05-10 22:08 ` [PATCH net-next v2 1/5] net: ethernet: cortina: Restore TSO support Linus Walleij
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Linus Walleij @ 2024-05-10 22:08 UTC (permalink / raw)
  To: Hans Ulli Kroll, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Andrew Lunn
  Cc: netdev, Linus Walleij

This restores the TSO support as we put it on the back
burner a while back. This version has been thoroughly
tested with iperf3 to make sure it really works.

Also included is a patch that implements setting the
RX or TX pause parameters.

To: Hans Ulli Kroll <ulli.kroll@googlemail.com>
To: David S. Miller <davem@davemloft.net>
To: Eric Dumazet <edumazet@google.com>
To: Jakub Kicinski <kuba@kernel.org>
To: Paolo Abeni <pabeni@redhat.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

Changes in v2:
- Fix up the issue in the previous version where I packed the
  TSO segments into too small packets: the TSO hardware
  expects the "MTU" to be set to the length of the resulting
  ethernet frame for each segment.
- Add a patch to make use of the TSO also when we do not have
  any explicit segmenting, which is what the vendor driver
  was always doing. This works fine with even frames with custom
  DSA tags.
- Add a new patch to rename the gmac_adjust_link callback to
  a recognized name.
- Add a new patch to make the driver use the autonegitiated
  RX and TX pause settings from phylib.
- Rewrite the set_pauseparam() patch to use the existing
  gmac_set_flow_control() function.
- Add a call to phy_set_asym_pause() in the set_pauseparam
  callback, so the phylib is informed of the new TX/RX setting.
- Link to v1: https://lore.kernel.org/r/20240509-gemini-ethernet-fix-tso-v1-0-10cd07b54d1c@linaro.org

---
Linus Walleij (5):
      net: ethernet: cortina: Restore TSO support
      net: ethernet: cortina: Use TSO also on common TCP
      net: ethernet: cortina: Rename adjust link callback
      net: ethernet: cortina: Use negotiated TX/RX pause
      net: ethernet: cortina: Implement .set_pauseparam()

 drivers/net/ethernet/cortina/gemini.c | 88 +++++++++++++++++++++++++----------
 1 file changed, 63 insertions(+), 25 deletions(-)
---
base-commit: 8eed0f55df3577f279dfa680f3c7f600072abc45
change-id: 20240506-gemini-ethernet-fix-tso-ebc71477c2fb

Best regards,
-- 
Linus Walleij <linus.walleij@linaro.org>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-05-11 16:33 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-10 22:08 [PATCH net-next v2 0/5] net: ethernet: cortina: TSO and pause param Linus Walleij
2024-05-10 22:08 ` [PATCH net-next v2 1/5] net: ethernet: cortina: Restore TSO support Linus Walleij
2024-05-10 22:08 ` [PATCH net-next v2 2/5] net: ethernet: cortina: Use TSO also on common TCP Linus Walleij
2024-05-10 22:08 ` [PATCH net-next v2 3/5] net: ethernet: cortina: Rename adjust link callback Linus Walleij
2024-05-11 16:21   ` Andrew Lunn
2024-05-10 22:08 ` [PATCH net-next v2 4/5] net: ethernet: cortina: Use negotiated TX/RX pause Linus Walleij
2024-05-11 16:33   ` Andrew Lunn
2024-05-10 22:08 ` [PATCH net-next v2 5/5] net: ethernet: cortina: Implement .set_pauseparam() Linus Walleij
2024-05-11  0:11   ` Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).