Skip to contentSkip to conversation

bnxt_en: New Broadcom ethernet driver.

PATCH Applied Michael Chan 2 participants 2 messages Oct 22, 2015 – Oct 23, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH v5 1/1 bnxt_en: New Broadcom ethernet driver.

Broadcom ethernet driver for the new family of NetXtreme-C/E ethernet devices.

v5:
- Removed empty blank lines at end of files (noted by David Miller).
- Moved busy poll helper functions to bnxt.h to at least make the .c file look less cluttered with #ifdef (noted by Stephen Hemminger).

v4:
- Broke up 2 long message strings with "\n" (suggested by John Linville)
- Constify an array of strings (suggested by Stephen Hemminger)
- Improve bnxt_vf_pciid() (suggested by Stephen Hemminger)
- Use PCI_VDEVICE() to populate pci_device_id table for more compact source.

v3:
- Fixed 2 more sparse warnings.
- Removed some unused structures in .h files.

v2:
- Fixed all kbuild test robot reported warnings.
- Fixed many of the checkpatch.pl errors and warnings.
- Fixed the Kconfig description (noted by Dmitry Kravkov).

---
 drivers/net/ethernet/broadcom/Kconfig              |   19 +
 drivers/net/ethernet/broadcom/Makefile             |    1 +
 drivers/net/ethernet/broadcom/bnxt/Makefile        |    3 +
 drivers/net/ethernet/broadcom/bnxt/bnxt.c          | 5746 ++++++++++++++++++++
 drivers/net/ethernet/broadcom/bnxt/bnxt.h          | 1081 ++++
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c  | 1149 ++++
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h  |   17 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h   |  104 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h      | 4046 ++++++++++++++
 drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h |   59 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c    |  787 +++
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h    |   22 +
 12 files changed, 13034 insertions(+)
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/Makefile
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt.c
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt.h
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h
drivers/net/ethernet/broadcom/Kconfig +19 -0
index e930aa9..67a7d52 100644
@@ -170,4 +170,23 @@ config SYSTEMPORT
 	  Broadcom BCM7xxx Set Top Box family chipset using an internal
 	  Ethernet switch.
 
+config BNXT
+	tristate "Broadcom NetXtreme-C/E support"
+	depends on PCI
+	select FW_LOADER
+	select LIBCRC32C
+	---help---
+	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
+	  Ethernet cards.  To compile this driver as a module, choose M here:
+	  the module will be called bnxt_en.  This is recommended.
+
+config BNXT_SRIOV
+	bool "Broadcom NetXtreme-C/E SR-IOV support"
+	depends on BNXT && PCI_IOV
+	default y
+	---help---
+	  This configuration parameter enables Single Root Input Output
+	  Virtualization support in the NetXtreme-C/E products. This
+	  allows for virtual function acceleration in virtual environments.
+
 endif # NET_VENDOR_BROADCOM
drivers/net/ethernet/broadcom/Makefile +1 -0
index e2a958a..00584d7 100644
@@ -12,3 +12,4 @@ obj-$(CONFIG_SB1250_MAC) += sb1250-mac.o
 obj-$(CONFIG_TIGON3) += tg3.o
 obj-$(CONFIG_BGMAC) += bgmac.o
 obj-$(CONFIG_SYSTEMPORT) += bcmsysport.o
+obj-$(CONFIG_BNXT) += bnxt/
drivers/net/ethernet/broadcom/bnxt/Makefile new file +3 -0
new file mode 100644
index 0000000..97e78e2
@@ -0,0 +1,3 @@
+obj-$(CONFIG_BNXT) += bnxt_en.o
+
+bnxt_en-y := bnxt.o bnxt_sriov.o bnxt_ethtool.o
drivers/net/ethernet/broadcom/bnxt/bnxt.c new file +5746 -0

2,970 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt.h new file +1081 -0

1,081 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c new file +1149 -0

1,149 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h new file +17 -0
new file mode 100644
index 0000000..98fa81e

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h new file +104 -0

104 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h new file +4046 -0

4,046 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h new file +59 -0

59 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c new file +787 -0

787 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h new file +22 -0
new file mode 100644
index 0000000..0b430f1

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Signature · 1 line
1.8.3.1

Part of the diff is not shown here. View the raw message.

maintainer Applied
#1 lore raw

From: Michael Chan <[email protected]>
Date: Thu, 22 Oct 2015 16:01:17 -0400

Quoted 2 lines

Broadcom ethernet driver for the new family of NetXtreme-C/E ethernet devices.

Applied, thanks Michael.