[Intel-wired-lan] [next-queue,V7, 00/14]
Alice Michael
alice.michael at intel.com
Fri Aug 14 08:23:05 UTC 2020
This series introduces both the Intel Ethernet Common Module and the
Intel Data Plane Function. The patches also incorporate extended
features and functionality added in the virtchnl.h file.
The format of the series flow is to add the data set, then introduce
function stubs and finally introduce pieces in large cohesive subjects or
functionality. This is to allow for more in depth understanding and review
of the bigger picture as the series is reviewed.
Currently this is common layer (iecm) is initially only being used by
only the idpf driver (PF driver for SmartNIC). However, the plan is
to eventually switch our iavf driver along with future drivers to use
this common module. The hope is to better enable code sharing going
forward as well as support other developers writing drivers for our
hardware
V3 -- Addresses comments from the original series. This inncludes removing
the iecm_ctlq_err in iecm_ctlq_api.h, the private flags and duplicated
checks, and cleaning up the clamps in iecm_ethtool.c. We also added
the supported_coalesce_params flags in iecm_ethtool.c. Finally, we
got the headers cleaned up and addressed mismatching types from calls
to cpu_to_le to match the types (this fixes C=2 W=1 errors that were
reported).
V4 -- Missed static in idpf_main.c on idpf_probe
V5 -- updated location of documentation, refactored soft reset path to take
memory allocation into account, refactored ethtool stats to not use
VA_ARGS, *greatly* reduced use of iecm_status enum, aligned use of
periods in debug statements, refactored to reduce line indentats.
V6 -- Missing local variable put into iecm_rx_can_reuse_page, and cleaned
up spacing issue that no longer triggers checkpatch due to Linus'
recent patch for column spacing.
V7 -- Cleaned up some checks the core is already doing, corrected the
calculation for txq and rxq, Removed the fw version that had been
missed in preveous version, dma_wmb call directly replacing a
define to it, cleaned up the memory and header files that were not
used, and cleaning up the self defining error codes.
Alan Brady (1):
idpf: Introduce idpf driver
Alice Michael (14):
virtchnl: Extend AVF ops
iecm: Add framework set of header files
iecm: Add TX/RX header files
iecm: Common module introduction and function stubs
iecm: Add basic netdevice functionality
iecm: Implement mailbox functionality
iecm: Implement virtchnl commands
iecm: Implement vector allocation
iecm: Init and allocate vport
iecm: Deinit vport
iecm: Add splitq TX/RX
iecm: Add singleq TX/RX
iecm: Add ethtool
iecm: Add iecm to the kernel build system
.../networking/device_drivers/intel/idpf.rst | 47 +
.../networking/device_drivers/intel/iecm.rst | 93 +
MAINTAINERS | 3 +
drivers/net/ethernet/intel/Kconfig | 15 +
drivers/net/ethernet/intel/Makefile | 2 +
drivers/net/ethernet/intel/idpf/Makefile | 12 +
drivers/net/ethernet/intel/idpf/idpf_dev.h | 17 +
drivers/net/ethernet/intel/idpf/idpf_devids.h | 10 +
drivers/net/ethernet/intel/idpf/idpf_main.c | 136 +
drivers/net/ethernet/intel/idpf/idpf_reg.c | 152 +
drivers/net/ethernet/intel/iecm/Makefile | 19 +
.../net/ethernet/intel/iecm/iecm_controlq.c | 669 +++
.../ethernet/intel/iecm/iecm_controlq_setup.c | 177 +
.../net/ethernet/intel/iecm/iecm_ethtool.c | 1064 +++++
drivers/net/ethernet/intel/iecm/iecm_lib.c | 1093 +++++
drivers/net/ethernet/intel/iecm/iecm_main.c | 50 +
drivers/net/ethernet/intel/iecm/iecm_osdep.c | 28 +
.../ethernet/intel/iecm/iecm_singleq_txrx.c | 892 ++++
drivers/net/ethernet/intel/iecm/iecm_txrx.c | 3961 +++++++++++++++++
.../net/ethernet/intel/iecm/iecm_virtchnl.c | 2262 ++++++++++
include/linux/net/intel/iecm.h | 433 ++
include/linux/net/intel/iecm_alloc.h | 29 +
include/linux/net/intel/iecm_controlq.h | 95 +
include/linux/net/intel/iecm_controlq_api.h | 188 +
include/linux/net/intel/iecm_lan_pf_regs.h | 120 +
include/linux/net/intel/iecm_lan_txrx.h | 636 +++
include/linux/net/intel/iecm_osdep.h | 24 +
include/linux/net/intel/iecm_txrx.h | 581 +++
include/linux/net/intel/iecm_type.h | 47 +
29 files changed, 12855 insertions(+)
create mode 100644 Documentation/networking/device_drivers/intel/idpf.rst
create mode 100644 Documentation/networking/device_drivers/intel/iecm.rst
create mode 100644 drivers/net/ethernet/intel/idpf/Makefile
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_dev.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_devids.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_main.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_reg.c
create mode 100644 drivers/net/ethernet/intel/iecm/Makefile
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_controlq.c
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_controlq_setup.c
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_ethtool.c
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_lib.c
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_main.c
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_osdep.c
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_singleq_txrx.c
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_txrx.c
create mode 100644 drivers/net/ethernet/intel/iecm/iecm_virtchnl.c
create mode 100644 include/linux/net/intel/iecm.h
create mode 100644 include/linux/net/intel/iecm_alloc.h
create mode 100644 include/linux/net/intel/iecm_controlq.h
create mode 100644 include/linux/net/intel/iecm_controlq_api.h
create mode 100644 include/linux/net/intel/iecm_lan_pf_regs.h
create mode 100644 include/linux/net/intel/iecm_lan_txrx.h
create mode 100644 include/linux/net/intel/iecm_osdep.h
create mode 100644 include/linux/net/intel/iecm_txrx.h
create mode 100644 include/linux/net/intel/iecm_type.h
--
2.21.0
More information about the Intel-wired-lan
mailing list