eth: fbnic: Add basic Tx handling
authorAlexander Duyck <alexanderduyck@fb.com>
Fri, 12 Jul 2024 15:50:24 +0000 (08:50 -0700)
committerJakub Kicinski <kuba@kernel.org>
Mon, 15 Jul 2024 19:50:43 +0000 (12:50 -0700)
commit9a57bacd574b52b08bc2c600af6a8c7a87049ecf
tree7c5822835dfc1481a3a1f3a5aa3770272708a7ec
parent69684376eed517817251ea6a768cfc315350d5c1
eth: fbnic: Add basic Tx handling

Handle Tx of simple packets. Support checksum offload and gather.
Use .ndo_features_check to make sure packet geometry will be
supported by the HW, i.e. we can fit the header lengths into
the descriptor fields.

The device writes to the completion rings the position of the tail
(consumer) pointer. Read all those writebacks, obviously the last
one will be the most recent, complete skbs up to that point.

Signed-off-by: Alexander Duyck <alexanderduyck@fb.com>
Link: https://patch.msgid.link/172079942464.1778861.17919428039428796180.stgit@ahduyck-xeon-server.home.arpa
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/meta/fbnic/fbnic_csr.h
drivers/net/ethernet/meta/fbnic/fbnic_netdev.c
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
drivers/net/ethernet/meta/fbnic/fbnic_txrx.h