Commit af58de31 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'eth-fbnic-add-network-driver-for-meta-platforms-host-network-interface'

Alexander Duyck says:

====================
eth: fbnic: Add network driver for Meta Platforms Host Network Interface

This patch set includes the necessary patches to enable basic Tx and Rx
over the Meta Platforms Host Network Interface. To do this we introduce a
new driver and driver directories in the form of
"drivers/net/ethernet/meta/fbnic".

The NIC itself is fairly simplistic. As far as speeds we support 25Gb,
50Gb, and 100Gb and we are mostly focused on speeds and feeds. As far as
future patch sets we will be supporting the basic Rx/Tx offloads such as
header/payload data split, TSO, checksum, and timestamp offloads. We have
access to the MAC and PCS from the NIC, however the PHY and QSFP are hidden
behind a FW layer as it is shared between 4 slices and the BMC.

Due to submission limits the general plan to submit a minimal driver for
now almost equivalent to a UEFI driver in functionality, and then follow up
over the coming months enabling additional offloads and enabling more
features for the device.
====================

Link: https://patch.msgid.link/172079913640.1778861.11459276843992867323.stgit@ahduyck-xeon-server.home.arpa


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents dd3cd3ca 355440a6
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -14579,6 +14579,13 @@ T: git git://linuxtv.org/media_tree.git
F:	Documentation/devicetree/bindings/media/amlogic,gx-vdec.yaml
F:	drivers/staging/media/meson/vdec/
META ETHERNET DRIVERS
M:	Alexander Duyck <alexanderduyck@fb.com>
M:	Jakub Kicinski <kuba@kernel.org>
R:	kernel-team@meta.com
S:	Supported
F:	drivers/net/ethernet/meta/
METHODE UDPU SUPPORT
M:	Robert Marko <robert.marko@sartura.hr>
S:	Maintained
+1 −0
Original line number Diff line number Diff line
@@ -122,6 +122,7 @@ source "drivers/net/ethernet/litex/Kconfig"
source "drivers/net/ethernet/marvell/Kconfig"
source "drivers/net/ethernet/mediatek/Kconfig"
source "drivers/net/ethernet/mellanox/Kconfig"
source "drivers/net/ethernet/meta/Kconfig"
source "drivers/net/ethernet/micrel/Kconfig"
source "drivers/net/ethernet/microchip/Kconfig"
source "drivers/net/ethernet/mscc/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ obj-$(CONFIG_NET_VENDOR_LITEX) += litex/
obj-$(CONFIG_NET_VENDOR_MARVELL) += marvell/
obj-$(CONFIG_NET_VENDOR_MEDIATEK) += mediatek/
obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/
obj-$(CONFIG_NET_VENDOR_META) += meta/
obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/
obj-$(CONFIG_NET_VENDOR_MICROCHIP) += microchip/
obj-$(CONFIG_NET_VENDOR_MICROSEMI) += mscc/
+31 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
#
# Meta Platforms network device configuration
#

config NET_VENDOR_META
	bool "Meta Platforms devices"
	default y
	help
	  If you have a network (Ethernet) card designed by Meta, say Y.
	  That's Meta as in the parent company of Facebook.

	  Note that the answer to this question doesn't directly affect the
	  kernel: saying N will just cause the configurator to skip all
	  the questions about Meta cards. If you say Y, you will be asked for
	  your specific card in the following questions.

if NET_VENDOR_META

config FBNIC
	tristate "Meta Platforms Host Network Interface"
	depends on X86_64 || COMPILE_TEST
	depends on PCI_MSI
	select PHYLINK
	help
	  This driver supports Meta Platforms Host Network Interface.

	  To compile this driver as a module, choose M here. The module
	  will be called fbnic.  MSI-X interrupt support is required.

endif # NET_VENDOR_META
+6 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the Meta Platforms network device drivers.
#

obj-$(CONFIG_FBNIC) += fbnic/
Loading