[RFC PATCH net-next 00/28] Add CPSW Proxy Client driver

Siddharth Vadapalli s-vadapalli at ti.com
Sat May 18 05:42:06 PDT 2024


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




More information about the linux-arm-kernel mailing list