This driver implements networking functionality of Marvell's Octeon PCI Endpoint NIC. This driver support following devices: * Network controller: Cavium, Inc. Device b200 v2: address review comments on original patch series. Divide PATCH 1/4 from the original series into 4 patches in v2 patch series: PATCH 1/7 to PATCH 4/7. Fix clang build errors. Veerasenareddy Burru (7): octeon_ep: Add driver framework and device initialization octeon_ep: add hardware configuration APIs octeon_ep: Add mailbox for control commands octeon_ep: add Tx/Rx ring resource setup and cleanup octeon_ep: add support for ndo ops octeon_ep: add Tx/Rx processing and interrupt support octeon_ep: add ethtool support for Octeon PCI Endpoint NIC .../device_drivers/ethernet/index.rst | 1 + .../ethernet/marvell/octeon_ep.rst | 35 + MAINTAINERS | 7 + drivers/net/ethernet/marvell/Kconfig | 1 + drivers/net/ethernet/marvell/Makefile | 1 + .../net/ethernet/marvell/octeon_ep/Kconfig | 20 + .../net/ethernet/marvell/octeon_ep/Makefile | 9 + .../marvell/octeon_ep/octep_cn9k_pf.c | 737 +++++++++++ .../ethernet/marvell/octeon_ep/octep_config.h | 204 +++ .../marvell/octeon_ep/octep_ctrl_mbox.c | 254 ++++ .../marvell/octeon_ep/octep_ctrl_mbox.h | 170 +++ .../marvell/octeon_ep/octep_ctrl_net.c | 197 +++ .../marvell/octeon_ep/octep_ctrl_net.h | 299 +++++ .../marvell/octeon_ep/octep_ethtool.c | 463 +++++++ .../ethernet/marvell/octeon_ep/octep_main.c | 1177 +++++++++++++++++ .../ethernet/marvell/octeon_ep/octep_main.h | 379 ++++++ .../marvell/octeon_ep/octep_regs_cn9k_pf.h | 367 +++++ .../net/ethernet/marvell/octeon_ep/octep_rx.c | 508 +++++++ .../net/ethernet/marvell/octeon_ep/octep_rx.h | 199 +++ .../net/ethernet/marvell/octeon_ep/octep_tx.c | 334 +++++ .../net/ethernet/marvell/octeon_ep/octep_tx.h | 284 ++++ 21 files changed, 5646 insertions(+) create mode 100644 Documentation/networking/device_drivers/ethernet/marvell/octeon_ep.rst create mode 100644 drivers/net/ethernet/marvell/octeon_ep/Kconfig create mode 100644 drivers/net/ethernet/marvell/octeon_ep/Makefile create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_cn9k_pf.c create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_config.h create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.c create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_mbox.h create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_net.c create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_ctrl_net.h create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_ethtool.c create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_main.c create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_main.h create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_regs_cn9k_pf.h create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_rx.c create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_rx.h create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_tx.c create mode 100644 drivers/net/ethernet/marvell/octeon_ep/octep_tx.h -- 2.17.1