Skip to content

Commit

Permalink
Merge branch 'netronome-NFP4000-and-NFP6000-PF-driver'
Browse files Browse the repository at this point in the history
Jakub Kicinski says:

====================
Netronome NFP4000 and NFP6000 PF driver

This is a base PF driver for Netronome NFP4000 and NFP6000 chips.  This
series doesn't add any exciting new features, it provides a foundation
for supporting more advanced firmware applications.

Patch 1 moves a bitfield-related helper from our BPF code to the global
header.

Patch 2 renames the kernel module and adds a new main file.  We were
considering 3-module approach (pf, vf, common netdev library) but
ultimately settled on a single module to keep things simple.

Patch 3 adds support for accessing chip internals.  It provides a way of
configuring access windows to different parts of chip memory and issuing
pretty much any commands on chip's NoC.

Patches 4, 5, 6, 7, 8 provide support for accessing and interpreting
various hardware and firmware information structures.

Patch 9 introduces service processor (NSP) ABI.  This ABI gives us
access to PHY/SFP module configuration and information as well as
methods for unloading and loading application firmware.

Patches 10 and 11 modify the existing netdev code to make it possible
to support multi-port devices (sharing a PCI device).

Patch 12 adds a new driver probe path which will be used for the PF
PCI device IDs.  It utilizes the newly added infrastructure and is able
to load application FW and spawn netdevs for all card's ports.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Feb 10, 2017
2 parents 4f2bd6b + 63461a0 commit e40d5d7
Show file tree
Hide file tree
Showing 33 changed files with 8,794 additions and 194 deletions.
18 changes: 9 additions & 9 deletions drivers/net/ethernet/netronome/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,21 @@ config NET_VENDOR_NETRONOME

if NET_VENDOR_NETRONOME

config NFP_NETVF
tristate "Netronome(R) NFP4000/NFP6000 VF NIC driver"
config NFP
tristate "Netronome(R) NFP4000/NFP6000 NIC driver"
depends on PCI && PCI_MSI
depends on VXLAN || VXLAN=n
---help---
This driver supports SR-IOV virtual functions of
the Netronome(R) NFP4000/NFP6000 cards working as
a advanced Ethernet NIC.
This driver supports the Netronome(R) NFP4000/NFP6000 based
cards working as a advanced Ethernet NIC. It works with both
SR-IOV physical and virtual functions.

config NFP_NET_DEBUG
bool "Debug support for Netronome(R) NFP3200/NFP6000 NIC drivers"
depends on NFP_NET || NFP_NETVF
config NFP_DEBUG
bool "Debug support for Netronome(R) NFP4000/NFP6000 NIC drivers"
depends on NFP
---help---
Enable extra sanity checks and debugfs support in
Netronome(R) NFP3200/NFP6000 NIC PF and VF drivers.
Netronome(R) NFP4000/NFP6000 NIC drivers.
Note: selecting this option may adversely impact
performance.

Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/netronome/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# Makefile for the Netronome network device drivers
#

obj-$(CONFIG_NFP_NETVF) += nfp/
obj-$(CONFIG_NFP) += nfp/
21 changes: 17 additions & 4 deletions drivers/net/ethernet/netronome/nfp/Makefile
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
obj-$(CONFIG_NFP_NETVF) += nfp_netvf.o
obj-$(CONFIG_NFP) += nfp.o

nfp_netvf-objs := \
nfp-objs := \
nfpcore/nfp6000_pcie.o \
nfpcore/nfp_cppcore.o \
nfpcore/nfp_cpplib.o \
nfpcore/nfp_hwinfo.o \
nfpcore/nfp_mip.o \
nfpcore/nfp_nffw.o \
nfpcore/nfp_nsp.o \
nfpcore/nfp_nsp_eth.o \
nfpcore/nfp_resource.o \
nfpcore/nfp_rtsym.o \
nfpcore/nfp_target.o \
nfp_main.o \
nfp_net_common.o \
nfp_net_ethtool.o \
nfp_net_offload.o \
nfp_net_main.o \
nfp_netvf_main.o

ifeq ($(CONFIG_BPF_SYSCALL),y)
nfp_netvf-objs += \
nfp-objs += \
nfp_bpf_verifier.o \
nfp_bpf_jit.o
endif

nfp_netvf-$(CONFIG_NFP_NET_DEBUG) += nfp_net_debugfs.o
nfp-$(CONFIG_NFP_DEBUG) += nfp_net_debugfs.o
2 changes: 0 additions & 2 deletions drivers/net/ethernet/netronome/nfp/nfp_bpf.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@
#include <linux/list.h>
#include <linux/types.h>

#define FIELD_FIT(mask, val) (!((((u64)val) << __bf_shf(mask)) & ~(mask)))

/* For branch fixup logic use up-most byte of branch instruction as scratch
* area. Remember to clear this before sending instructions to HW!
*/
Expand Down
Loading

0 comments on commit e40d5d7

Please sign in to comment.