Commit fa15072b authored by Paolo Abeni's avatar Paolo Abeni
Browse files

Merge branch 'sfc-devlink-support-for-ef100'

Alejandro Lucero says:

====================
sfc: devlink support for ef100

This patchset adds devlink port support for ef100 allowing setting VFs
mac addresses through the VF representor devlink ports.

Basic devlink infrastructure is first introduced, then support for info
command. Next changes for enumerating MAE ports which will be used for
devlink port creation when netdevs are registered.

Adding support for devlink port_function_hw_addr_get requires changes in
the ef100 driver for getting the mac address based on a client handle.
This allows to obtain VFs mac addresses during netdev initialization as
well what is included in patch 6.

Such client handle is used in patches 7 and 8 for getting and setting
devlink port addresses.
====================

Link: https://lore.kernel.org/r/20230215090828.11697-1-alejandro.lucero-palau@amd.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents e9ab2559 3b6096c9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -66,3 +66,4 @@ parameters, info versions, and other features it supports.
   prestera
   iosm
   octeontx2
   sfc
+57 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

===================
sfc devlink support
===================

This document describes the devlink features implemented by the ``sfc``
device driver for the ef100 device.

Info versions
=============

The ``sfc`` driver reports the following versions

.. list-table:: devlink info versions implemented
   :widths: 5 5 90

   * - Name
     - Type
     - Description
   * - ``fw.mgmt.suc``
     - running
     - For boards where the management function is split between multiple
       control units, this is the SUC control unit's firmware version.
   * - ``fw.mgmt.cmc``
     - running
     - For boards where the management function is split between multiple
       control units, this is the CMC control unit's firmware version.
   * - ``fpga.rev``
     - running
     - FPGA design revision.
   * - ``fpga.app``
     - running
     - Datapath programmable logic version.
   * - ``fw.app``
     - running
     - Datapath software/microcode/firmware version.
   * - ``coproc.boot``
     - running
     - SmartNIC application co-processor (APU) first stage boot loader version.
   * - ``coproc.uboot``
     - running
     - SmartNIC application co-processor (APU) co-operating system loader version.
   * - ``coproc.main``
     - running
     - SmartNIC application co-processor (APU) main operating system version.
   * - ``coproc.recovery``
     - running
     - SmartNIC application co-processor (APU) recovery operating system version.
   * - ``fw.exprom``
     - running
     - Expansion ROM version. For boards where the expansion ROM is split between
       multiple images (e.g. PXE and UEFI), this is the specifically the PXE boot
       ROM version.
   * - ``fw.uefi``
     - running
     - UEFI driver version (No UNDI support).
+1 −0
Original line number Diff line number Diff line
@@ -18937,6 +18937,7 @@ M: Edward Cree <ecree.xilinx@gmail.com>
M:	Martin Habets <habetsm.xilinx@gmail.com>
L:	netdev@vger.kernel.org
S:	Supported
F:	Documentation/networking/devlink/sfc.rst
F:	drivers/net/ethernet/sfc/
SFF/SFP/SFP+ MODULE SUPPORT
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ config SFC
	depends on PTP_1588_CLOCK_OPTIONAL
	select MDIO
	select CRC32
	select NET_DEVLINK
	help
	  This driver supports 10/40-gigabit Ethernet cards based on
	  the Solarflare SFC9100-family controllers.
+2 −1
Original line number Diff line number Diff line
@@ -6,7 +6,8 @@ sfc-y += efx.o efx_common.o efx_channels.o nic.o \
			   mcdi.o mcdi_port.o mcdi_port_common.o \
			   mcdi_functions.o mcdi_filters.o mcdi_mon.o \
			   ef100.o ef100_nic.o ef100_netdev.o \
			   ef100_ethtool.o ef100_rx.o ef100_tx.o
			   ef100_ethtool.o ef100_rx.o ef100_tx.o \
			   efx_devlink.o
sfc-$(CONFIG_SFC_MTD)	+= mtd.o
sfc-$(CONFIG_SFC_SRIOV)	+= sriov.o ef10_sriov.o ef100_sriov.o ef100_rep.o \
                           mae.o tc.o tc_bindings.o tc_counters.o
Loading