[PATCH net-next v3 0/3] net: ti: icssg-prueth: Add native mode XDP support
Meghana Malladi
m-malladi at ti.com
Mon Feb 24 03:00:59 PST 2025
This series adds native XDP support using page_pool.
XDP zero copy support is not included in this patch series.
Patch 1/3: Replaces skb with page pool for Rx buffer allocation
Patch 2/3: Adds prueth_swdata struct for SWDATA for all swdata cases
Patch 3/3: Introduces native mode XDP support
v2: https://lore.kernel.org/all/20250210103352.541052-1-m-malladi@ti.com/
Changes since v2 (v3-v2):
0/3:
- Update cover letter subject line to add details of the driver as suggested by
Jesper Dangaard Brouer <hawk at kernel.org>
1/3:
- few cosmetic changes for all the patches
2/3:
- Fix leaking tx descriptor in emac_tx_complete_packets()
- Free rx descriptor if swdata type is not page in emac_rx_packet()
- Revert back the size of PRUETH_NAV_SW_DATA_SIZE
- Use build time check for prueth_swdata size
- re-write prueth_swdata to have enum type as first member in the struct
and prueth_data union embedded in the struct
3/3:
- Use page_pool contained in the page instead of using passing page_pool
(rx_chn) as part of swdata
- dev_sw_netstats_tx_add() instead of incrementing the stats directly
- Add missing ndev->stats.tx_dropped++ wherever applicable
- Move k3_cppi_desc_pool_alloc() before the DMA mapping for easier cleanup
on failure
- Replace rxp->napi_id with emac->napi_rx.napi_id in prueth_create_xdp_rxqs()
All the above changes have been suggested by Roger Quadros <rogerq at kernel.org>
Roger Quadros (3):
net: ti: icssg-prueth: Use page_pool API for RX buffer allocation
net: ti: icssg-prueth: introduce and use prueth_swdata struct for
SWDATA
net: ti: icssg-prueth: Add XDP support
drivers/net/ethernet/ti/Kconfig | 1 +
drivers/net/ethernet/ti/icssg/icssg_common.c | 421 ++++++++++++++----
drivers/net/ethernet/ti/icssg/icssg_prueth.c | 128 +++++-
drivers/net/ethernet/ti/icssg/icssg_prueth.h | 47 +-
.../net/ethernet/ti/icssg/icssg_prueth_sr1.c | 23 +-
5 files changed, 529 insertions(+), 91 deletions(-)
base-commit: e13b6da7045f997e1a5a5efd61d40e63c4fc20e8
--
2.43.0
More information about the linux-arm-kernel
mailing list