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 v3: https://lore.kernel.org/all/20250224110102.1528552-1-m-malladi@xxxxxx/ Changes since v3 (v4-v3): 1/3: - Get rid of skb from Rx management code in SR1 as suggested by Roger Quadros <rogerq@xxxxxxxxxx> 2/3: - remove SWDATA size information from commit message - Fix handling of packets for non-skb type inside emac_tx_complete_packets() - Remove incrementing budget for incorrect swdata type - use PRUETH_SWDATA_CMD in emac_send_command_sr1() All the above changes are suggested by Roger Quadros <rogerq@xxxxxxxxxx> and Dan Carpenter <dan.carpenter@xxxxxxxxxx> 3/3: - few cosmetic changes inside emac_xmit_xdp_frame() func - change xdp_state type to u32 from int Above changes are suggested by Dan Carpenter <dan.carpenter@xxxxxxxxxx> - Few improvements in emac_run_xdp case handling as suggested by Roger Quadros <rogerq@xxxxxxxxxx> 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 | 417 ++++++++++++++---- drivers/net/ethernet/ti/icssg/icssg_prueth.c | 131 +++++- drivers/net/ethernet/ti/icssg/icssg_prueth.h | 47 +- .../net/ethernet/ti/icssg/icssg_prueth_sr1.c | 58 ++- 5 files changed, 541 insertions(+), 113 deletions(-) base-commit: f77f12010f67259bd0e1ad18877ed27c721b627a -- 2.43.0