Hello, This series introduces the CPSW Proxy Client driver to interface with Ethernet Switch Firmware (EthFw) running on a remote core on TI's K3 SoCs. Further details are in patch 01/28 which adds documentation for the driver and describes the intended use-case, design and execution of the driver. Please DO NOT MERGE this series. I will appreciate feedback on this series in the form of both documentation enhancements and code review. This series does not depend on other series and applies cleanly on the latest net-next commit: 4b377b4868ef kprobe/ftrace: fix build error due to bad function definition However, for purposes of functionality, device-tree changes are required in the form of a device-tree overlay in order to mark device-tree nodes as reserved for EthFw's use. I have tested this series on J721E EVM verifying: 1. Ping/Iperf 2. Interface Up-Down 3. Module Removal Linux Logs: https://gist.github.com/Siddharth-Vadapalli-at-TI/0972e74383cd1ec16e2f82c0d447f90b EthFw Logs corresponding to the Linux Logs shared above: https://gist.github.com/Siddharth-Vadapalli-at-TI/28743298daf113f90be9ceb26c46b16b Regards, Siddharth. Siddharth Vadapalli (28): docs: networking: ti: add driver doc for CPSW Proxy Client net: ethernet: ti: add RPMsg structures for Ethernet Switch Firmware net: ethernet: ti: introduce the CPSW Proxy Client net: ethernet: ti: cpsw-proxy-client: add support for creating requests net: ethernet: ti: cpsw-proxy-client: enable message exchange with EthFw net: ethernet: ti: cpsw-proxy-client: add helper to get virtual port info net: ethernet: ti: cpsw-proxy-client: add helper to attach virtual ports net: ethernet: ti: cpsw-proxy-client: add helpers to alloc/free resources net: ethernet: ti: cpsw-proxy-client: add helper to init TX DMA Channels net: ethernet: ti: cpsw-proxy-client: add helper to init RX DMA Channels net: ethernet: ti: cpsw-proxy-client: add NAPI TX polling function net: ethernet: ti: cpsw-proxy-client: add NAPI RX polling function net: ethernet: ti: cpsw-proxy-client: add helper to create netdevs net: ethernet: ti: cpsw-proxy-client: add and register dma irq handlers net: ethernet: ti: cpsw-proxy-client: add helpers to (de)register MAC net: ethernet: ti: cpsw-proxy-client: implement and register ndo_open net: ethernet: ti: cpsw-proxy-client: implement and register ndo_stop net: ethernet: ti: cpsw-proxy-client: implement and register ndo_start_xmit net: ethernet: ti: cpsw-proxy-client: implement and register ndo_get_stats64 net: ethernet: ti: cpsw-proxy-client: implement and register ndo_tx_timeout net: ethernet: ti: cpsw-proxy-client: register ndo_validate/ndo_set_mac_addr net: ethernet: ti: cpsw-proxy-client: implement .get_link ethtool op net: ethernet: ti: cpsw-proxy-client: add sw tx/rx irq coalescing net: ethernet: ti: cpsw-proxy-client: export coalescing support net: ethernet: ti: cpsw-proxy-client: add helpers to (de)register IPv4 net: ethernet: ti: cpsw-proxy-client: add ndo_set_rx_mode member net: ethernet: ti: cpsw-proxy-client: add helper to detach virtual ports net: ethernet: ti: cpsw-proxy-client: enable client driver functionality .../ethernet/ti/cpsw_proxy_client.rst | 182 ++ drivers/net/ethernet/ti/Kconfig | 14 + drivers/net/ethernet/ti/Makefile | 3 + drivers/net/ethernet/ti/cpsw-proxy-client.c | 2354 +++++++++++++++++ drivers/net/ethernet/ti/ethfw_abi.h | 370 +++ 5 files changed, 2923 insertions(+) create mode 100644 Documentation/networking/device_drivers/ethernet/ti/cpsw_proxy_client.rst create mode 100644 drivers/net/ethernet/ti/cpsw-proxy-client.c create mode 100644 drivers/net/ethernet/ti/ethfw_abi.h -- 2.40.1