Skip to content

New cxgb4vf network driver for Chelsio T4 Virtual Function NIC

Casey Leedom netdev 1 version Applied

Status from this message: Applied, but this submission was a mess.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 6 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/9cxgb4vf: small changes to message processing structures/macrosdrivers/net/cxgb4/sge.c drivers/net/cxgb4/t4_hw.h drivers/net/cxgb4/t4_msg.h+16 -40 replies
2/9cxgb4vf: update to latest T4 firmware API filedrivers/net/cxgb4/t4_hw.c drivers/net/cxgb4/t4fw_api.h+21 -60 replies
3/9cxgb4vf: Add new macros and definitions for hardware constantsdrivers/net/cxgb4/t4_hw.h drivers/net/cxgb4/t4_regs.h+42 -00 replies
4/9cxgb4vf: Add code to provision T4 PCI-E SR-IOV Virtual Functions with hardware resourcesdrivers/net/cxgb4/cxgb4_main.c+106 -03 replies
5/9cxgb4vf: Add core T4 PCI-E SR-IOV Virtual Function hardware definitions and device communication codedrivers/net/cxgb4vf/t4vf_common.h drivers/net/cxgb4vf/t4vf_defs.h drivers/net/cxgb4vf/t4vf_hw.c+1727 -00 replies
6/9cxgb4vf: Add T4 Virtual Function Scatter-Gather Engine DMA codedrivers/net/cxgb4vf/sge.c+2460 -00 replies
7/9cxgb4vf: Add main T4 PCI-E SR-IOV Virtual Function driver for cxgb4vfdrivers/net/cxgb4vf/adapter.h drivers/net/cxgb4vf/cxgb4vf_main.c+3446 -00 replies
8/9cxgb4vf: Add new Makefile for T4 PCI-E SR-IOV Virtual Function driver cxgb4vfdrivers/net/cxgb4vf/Makefile+7 -00 replies
9/9cxgb4vf: Stitch new T4 PCI-E SR-IOV Virtual Function driver into the builddrivers/net/Kconfig drivers/net/Makefile+24 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/9] New cxgb4vf network driver for Chelsio T4 Virtual Function NIC

This patch series introduces a new network driver for the Chelsio T4 PCI-E SR-IOV Virtual Function NIC. The patches are against net-next as of commit 39c9cf07077146b14ab077a0e27c869c6f0e6199.

This driver "depends" on the cxgb4 NIC driver only in-so-far as the cxgb4 driver needs to "provision" chip resources for each of the Virtual Functions and the cxgb4 driver must enable the PCI-E SR-IOV functionality. After that the new "cxgb4vf" driver operates completely independently. (It will often be the case that the cxgb4vf driver will be operating withing a Virtual Machine via "PCI Pass Through."

This is my first submission to Linux so I apologize in advance for any mistakes. I looked at many submissions to see how to do this but I anticipate that I've almost certainly missed something critical. Please correct me on anything I've done wrong and I will happily fix them. Thanks in advance for you patience and understanding.

There is one part of this submission where I needed to make a big guess regarding driver policies and procedures so I'll draw your attention to that. There are several header files which both the cxgb4 and cxgb4vf drivers need to operate (T4 hardware register definitions, message structures, etc.) This patch series leaves those files in place within the cxgb4 driver directory (with a few tiny modifications to add new definitions) and the cxgb4vf driver includes them via "../cxgb4/xxx.h" I found a couple of similar usages but I couldn't determine what the official policy was.

Again, thank you for your time and consideration.

Casey Leedom

 drivers/net/Kconfig                |   23 +
 drivers/net/Makefile               |    1 +
 drivers/net/cxgb4/cxgb4_main.c     |  106 ++
 drivers/net/cxgb4/t4_hw.c          |    2 +-
 drivers/net/cxgb4/t4_hw.h          |   39 +
 drivers/net/cxgb4/t4_regs.h        |    3 +
 drivers/net/cxgb4/t4fw_api.h       |   27 +-
 drivers/net/cxgb4vf/Makefile       |    7 +
 drivers/net/cxgb4vf/adapter.h      |  540 +++++++
 drivers/net/cxgb4vf/cxgb4vf_main.c | 2906 ++++++++++++++++++++++++++++++++++++
 drivers/net/cxgb4vf/sge.c          | 2460 ++++++++++++++++++++++++++++++
 drivers/net/cxgb4vf/t4vf_common.h  |  273 ++++
 drivers/net/cxgb4vf/t4vf_defs.h    |  121 ++
 drivers/net/cxgb4vf/t4vf_hw.c      | 1333 +++++++++++++++++
 14 files changed, 7834 insertions(+), 7 deletions(-)