mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-25 07:44:53 +00:00

Tony Nguyen says: ==================== igc: Add support for Frame Preemption Faizal Rahim says: Introduce support for the FPE feature in the IGC driver. The patches aligns with the upstream FPE API: https://patchwork.kernel.org/project/netdevbpf/cover/20230220122343.1156614-1-vladimir.oltean@nxp.com/ https://patchwork.kernel.org/project/netdevbpf/cover/20230119122705.73054-1-vladimir.oltean@nxp.com/ It builds upon earlier work: https://patchwork.kernel.org/project/netdevbpf/cover/20220520011538.1098888-1-vinicius.gomes@intel.com/ The patch series adds the following functionalities to the IGC driver: a) Configure FPE using `ethtool --set-mm`. b) Display FPE settings via `ethtool --show-mm`. c) View FPE statistics using `ethtool --include-statistics --show-mm'. e) Block setting preemptible tc in taprio since it is not supported yet. Existing code already blocks it in mqprio. Tested: Enabled CONFIG_PROVE_LOCKING, CONFIG_DEBUG_ATOMIC_SLEEP, CONFIG_DMA_API_DEBUG, and CONFIG_KASAN 1) selftests 2) netdev down/up cycles 3) suspend/resume cycles 4) fpe verification No bugs or unusual dmesg logs were observed. Ran 1), 2) and 3) with and without the patch series, compared dmesg and selftest logs - no differences found. * '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue: igc: add support to get frame preemption statistics via ethtool igc: add support to get MAC Merge data via ethtool igc: block setting preemptible traffic class in taprio igc: add support to set tx-min-frag-size igc: add support for frame preemption verification igc: set the RX packet buffer size for TSN mode igc: use FIELD_PREP and GENMASK for existing RX packet buffer size igc: optimize TX packet buffer utilization for TSN mode igc: use FIELD_PREP and GENMASK for existing TX packet buffer size igc: rename I225_RXPBSIZE_DEFAULT and I225_TXPBSIZE_DEFAULT igc: rename xdp_get_tx_ring() for non-xdp usage net: ethtool: mm: reset verification status when link is down net: ethtool: mm: extract stmmac verification logic into common library net: stmmac: move frag_size handling out of spin_lock ==================== Link: https://patch.msgid.link/20250418163822.3519810-1-anthony.l.nguyen@intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
360 lines
10 KiB
Plaintext
360 lines
10 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config STMMAC_ETH
|
|
tristate "STMicroelectronics Multi-Gigabit Ethernet driver"
|
|
depends on HAS_IOMEM && HAS_DMA
|
|
depends on PTP_1588_CLOCK_OPTIONAL
|
|
depends on ETHTOOL_NETLINK
|
|
select MII
|
|
select PCS_XPCS
|
|
select PAGE_POOL
|
|
select PHYLINK
|
|
select CRC32
|
|
select RESET_CONTROLLER
|
|
help
|
|
This is the driver for the Ethernet IPs built around a
|
|
Synopsys IP Core.
|
|
|
|
if STMMAC_ETH
|
|
|
|
config STMMAC_SELFTESTS
|
|
bool "Support for STMMAC Selftests"
|
|
depends on INET
|
|
depends on STMMAC_ETH
|
|
default n
|
|
help
|
|
This adds support for STMMAC Selftests using ethtool. Enable this
|
|
feature if you are facing problems with your HW and submit the test
|
|
results to the netdev Mailing List.
|
|
|
|
config STMMAC_PLATFORM
|
|
tristate "STMMAC Platform bus support"
|
|
depends on STMMAC_ETH
|
|
select MFD_SYSCON
|
|
default y
|
|
help
|
|
This selects the platform specific bus support for the stmmac driver.
|
|
This is the driver used on several SoCs:
|
|
STi, Allwinner, Amlogic Meson, Altera SOCFPGA.
|
|
|
|
If you have a controller with this interface, say Y or M here.
|
|
|
|
If unsure, say N.
|
|
|
|
if STMMAC_PLATFORM
|
|
|
|
config DWMAC_DWC_QOS_ETH
|
|
tristate "Support for snps,dwc-qos-ethernet.txt DT binding."
|
|
select CRC32
|
|
select MII
|
|
depends on OF && HAS_DMA
|
|
help
|
|
Support for chips using the snps,dwc-qos-ethernet.txt DT binding.
|
|
|
|
config DWMAC_GENERIC
|
|
tristate "Generic driver for DWMAC"
|
|
default STMMAC_PLATFORM
|
|
help
|
|
Generic DWMAC driver for platforms that don't require any
|
|
platform specific code to function or is using platform
|
|
data for setup.
|
|
|
|
config DWMAC_ANARION
|
|
tristate "Adaptrum Anarion GMAC support"
|
|
default ARC
|
|
depends on OF && (ARC || COMPILE_TEST)
|
|
help
|
|
Support for Adaptrum Anarion GMAC Ethernet controller.
|
|
|
|
This selects the Anarion SoC glue layer support for the stmmac driver.
|
|
|
|
config DWMAC_INGENIC
|
|
tristate "Ingenic MAC support"
|
|
default MACH_INGENIC
|
|
depends on OF && HAS_IOMEM && (MACH_INGENIC || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
help
|
|
Support for ethernet controller on Ingenic SoCs.
|
|
|
|
This selects Ingenic SoCs glue layer support for the stmmac
|
|
device driver. This driver is used on for the Ingenic SoCs
|
|
MAC ethernet controller.
|
|
|
|
config DWMAC_IPQ806X
|
|
tristate "QCA IPQ806x DWMAC support"
|
|
default ARCH_QCOM
|
|
depends on OF && (ARCH_QCOM || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
help
|
|
Support for QCA IPQ806X DWMAC Ethernet.
|
|
|
|
This selects the IPQ806x SoC glue layer support for the stmmac
|
|
device driver. This driver does not use any of the hardware
|
|
acceleration features available on this SoC. Network devices
|
|
will behave like standard non-accelerated ethernet interfaces.
|
|
|
|
Select the QCOM_SOCINFO config flag to enable specific dwmac
|
|
fixup based on the ipq806x SoC revision.
|
|
|
|
config DWMAC_LPC18XX
|
|
tristate "NXP LPC18xx/43xx DWMAC support"
|
|
default ARCH_LPC18XX
|
|
depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
help
|
|
Support for NXP LPC18xx/43xx DWMAC Ethernet.
|
|
|
|
config DWMAC_MEDIATEK
|
|
tristate "MediaTek MT27xx GMAC support"
|
|
depends on OF && (ARCH_MEDIATEK || COMPILE_TEST)
|
|
help
|
|
Support for MediaTek GMAC Ethernet controller.
|
|
|
|
This selects the MT2712 SoC support for the stmmac driver.
|
|
|
|
config DWMAC_MESON
|
|
tristate "Amlogic Meson dwmac support"
|
|
default ARCH_MESON
|
|
depends on OF && COMMON_CLK && (ARCH_MESON || COMPILE_TEST)
|
|
help
|
|
Support for Ethernet controller on Amlogic Meson SoCs.
|
|
|
|
This selects the Amlogic Meson SoC glue layer support for
|
|
the stmmac device driver. This driver is used for Meson6,
|
|
Meson8, Meson8b and GXBB SoCs.
|
|
|
|
config DWMAC_QCOM_ETHQOS
|
|
tristate "Qualcomm ETHQOS support"
|
|
default ARCH_QCOM
|
|
depends on OF && (ARCH_QCOM || COMPILE_TEST)
|
|
help
|
|
Support for the Qualcomm ETHQOS core.
|
|
|
|
This selects the Qualcomm ETHQOS glue layer support for the
|
|
stmmac device driver.
|
|
|
|
config DWMAC_RENESAS_GBETH
|
|
tristate "Renesas RZ/V2H(P) GBETH support"
|
|
default ARCH_RENESAS
|
|
depends on OF && (ARCH_RENESAS || COMPILE_TEST)
|
|
help
|
|
Support for Gigabit Ethernet Interface (GBETH) on Renesas
|
|
RZ/V2H(P) SoCs.
|
|
|
|
This selects the Renesas RZ/V2H(P) Soc specific glue layer support
|
|
for the stmmac device driver.
|
|
|
|
config DWMAC_ROCKCHIP
|
|
tristate "Rockchip dwmac support"
|
|
default ARCH_ROCKCHIP
|
|
depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
help
|
|
Support for Ethernet controller on Rockchip RK3288 SoC.
|
|
|
|
This selects the Rockchip RK3288 SoC glue layer support for
|
|
the stmmac device driver.
|
|
|
|
config DWMAC_RZN1
|
|
tristate "Renesas RZ/N1 dwmac support"
|
|
default ARCH_RZN1
|
|
depends on OF && (ARCH_RZN1 || COMPILE_TEST)
|
|
select PCS_RZN1_MIIC
|
|
help
|
|
Support for Ethernet controller on Renesas RZ/N1 SoC family.
|
|
|
|
This selects the Renesas RZ/N1 SoC glue layer support for
|
|
the stmmac device driver. This support can make use of a custom MII
|
|
converter PCS device.
|
|
|
|
config DWMAC_S32
|
|
tristate "NXP S32G/S32R GMAC support"
|
|
default ARCH_S32
|
|
depends on OF && (ARCH_S32 || COMPILE_TEST)
|
|
help
|
|
Support for ethernet controller on NXP S32CC SOCs.
|
|
|
|
This selects NXP SoC glue layer support for the stmmac
|
|
device driver. This driver is used for the S32CC series
|
|
SOCs GMAC ethernet controller, ie. S32G2xx, S32G3xx and
|
|
S32R45.
|
|
|
|
config DWMAC_SOCFPGA
|
|
tristate "SOCFPGA dwmac support"
|
|
default ARCH_INTEL_SOCFPGA
|
|
depends on OF && (ARCH_INTEL_SOCFPGA || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
select MDIO_REGMAP
|
|
select REGMAP_MMIO
|
|
select PCS_LYNX
|
|
help
|
|
Support for ethernet controller on Altera SOCFPGA
|
|
|
|
This selects the Altera SOCFPGA SoC glue layer support
|
|
for the stmmac device driver. This driver is used for
|
|
arria5 and cyclone5 FPGA SoCs.
|
|
|
|
config DWMAC_SOPHGO
|
|
tristate "Sophgo dwmac support"
|
|
depends on OF && (ARCH_SOPHGO || COMPILE_TEST)
|
|
default m if ARCH_SOPHGO
|
|
help
|
|
Support for ethernet controllers on Sophgo RISC-V SoCs
|
|
|
|
This selects the Sophgo SoC specific glue layer support
|
|
for the stmmac device driver. This driver is used for the
|
|
ethernet controllers on various Sophgo SoCs.
|
|
|
|
config DWMAC_STARFIVE
|
|
tristate "StarFive dwmac support"
|
|
depends on OF && (ARCH_STARFIVE || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
default m if ARCH_STARFIVE
|
|
help
|
|
Support for ethernet controllers on StarFive RISC-V SoCs
|
|
|
|
This selects the StarFive platform specific glue layer support
|
|
for the stmmac device driver. This driver is used for the
|
|
StarFive JH7100 and JH7110 ethernet controllers.
|
|
|
|
config DWMAC_STI
|
|
tristate "STi GMAC support"
|
|
default ARCH_STI
|
|
depends on OF && (ARCH_STI || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
help
|
|
Support for ethernet controller on STi SOCs.
|
|
|
|
This selects STi SoC glue layer support for the stmmac
|
|
device driver. This driver is used on for the STi series
|
|
SOCs GMAC ethernet controller.
|
|
|
|
config DWMAC_STM32
|
|
tristate "STM32 DWMAC support"
|
|
default ARCH_STM32
|
|
depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
help
|
|
Support for ethernet controller on STM32 SOCs.
|
|
|
|
This selects STM32 SoC glue layer support for the stmmac
|
|
device driver. This driver is used on for the STM32 series
|
|
SOCs GMAC ethernet controller.
|
|
|
|
config DWMAC_SUNXI
|
|
tristate "Allwinner GMAC support"
|
|
default ARCH_SUNXI
|
|
depends on OF && (ARCH_SUNXI || COMPILE_TEST)
|
|
help
|
|
Support for Allwinner A20/A31 GMAC ethernet controllers.
|
|
|
|
This selects Allwinner SoC glue layer support for the
|
|
stmmac device driver. This driver is used for A20/A31
|
|
GMAC ethernet controller.
|
|
|
|
config DWMAC_SUN8I
|
|
tristate "Allwinner sun8i GMAC support"
|
|
default ARCH_SUNXI
|
|
depends on OF && (ARCH_SUNXI || COMPILE_TEST)
|
|
select MDIO_BUS_MUX
|
|
help
|
|
Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
|
|
|
|
This selects Allwinner SoC glue layer support for the
|
|
stmmac device driver. This driver is used for H3/A83T/A64
|
|
EMAC ethernet controller.
|
|
|
|
config DWMAC_THEAD
|
|
tristate "T-HEAD dwmac support"
|
|
depends on OF && (ARCH_THEAD || COMPILE_TEST)
|
|
help
|
|
Support for ethernet controllers on T-HEAD RISC-V SoCs
|
|
|
|
This selects the T-HEAD platform specific glue layer support for
|
|
the stmmac device driver. This driver is used for T-HEAD TH1520
|
|
ethernet controller.
|
|
|
|
config DWMAC_IMX8
|
|
tristate "NXP IMX8 DWMAC support"
|
|
default ARCH_MXC
|
|
depends on OF && (ARCH_MXC || COMPILE_TEST)
|
|
select MFD_SYSCON
|
|
help
|
|
Support for ethernet controller on NXP i.MX8 SOCs.
|
|
|
|
This selects NXP SoC glue layer support for the stmmac
|
|
device driver. This driver is used for i.MX8 series like
|
|
iMX8MP/iMX8DXL GMAC ethernet controller.
|
|
|
|
config DWMAC_INTEL_PLAT
|
|
tristate "Intel dwmac support"
|
|
depends on OF && COMMON_CLK
|
|
depends on STMMAC_ETH
|
|
help
|
|
Support for ethernet controllers on Intel SoCs
|
|
|
|
This selects the Intel platform specific glue layer support for
|
|
the stmmac device driver. This driver is used for the Intel Keem Bay
|
|
SoC.
|
|
|
|
config DWMAC_LOONGSON1
|
|
tristate "Loongson1 GMAC support"
|
|
default MACH_LOONGSON32
|
|
depends on OF && (MACH_LOONGSON32 || COMPILE_TEST)
|
|
help
|
|
Support for ethernet controller on Loongson1 SoC.
|
|
|
|
This selects Loongson1 SoC glue layer support for the stmmac
|
|
device driver. This driver is used for Loongson1-based boards
|
|
like Loongson LS1B/LS1C.
|
|
|
|
config DWMAC_TEGRA
|
|
tristate "NVIDIA Tegra MGBE support"
|
|
depends on ARCH_TEGRA || COMPILE_TEST
|
|
help
|
|
This selects the Multi-GigaBit Ethernet (MGBE) Controller that is
|
|
found on the NVIDIA Tegra SoC devices. This driver provides the glue
|
|
layer on top of the stmmac driver required for these NVIDIA Tegra SoC
|
|
devices.
|
|
|
|
config DWMAC_VISCONTI
|
|
tristate "Toshiba Visconti DWMAC support"
|
|
default ARCH_VISCONTI
|
|
depends on OF && COMMON_CLK && (ARCH_VISCONTI || COMPILE_TEST)
|
|
help
|
|
Support for ethernet controller on Visconti SoCs.
|
|
|
|
endif
|
|
|
|
config DWMAC_INTEL
|
|
tristate "Intel GMAC support"
|
|
default X86
|
|
depends on X86 && STMMAC_ETH && PCI
|
|
depends on COMMON_CLK
|
|
depends on ACPI
|
|
help
|
|
This selects the Intel platform specific bus support for the
|
|
stmmac driver. This driver is used for Intel Quark/EHL/TGL.
|
|
|
|
config DWMAC_LOONGSON
|
|
tristate "Loongson PCI DWMAC support"
|
|
default MACH_LOONGSON64
|
|
depends on (MACH_LOONGSON64 || COMPILE_TEST) && STMMAC_ETH && PCI
|
|
depends on COMMON_CLK
|
|
help
|
|
This selects the LOONGSON PCI bus support for the stmmac driver,
|
|
Support for ethernet controller on Loongson-2K1000 SoC and LS7A1000 bridge.
|
|
|
|
config STMMAC_PCI
|
|
tristate "STMMAC PCI bus support"
|
|
depends on STMMAC_ETH && PCI
|
|
depends on COMMON_CLK
|
|
help
|
|
This selects the platform specific bus support for the stmmac driver.
|
|
This driver was tested on XLINX XC2V3000 FF1152AMT0221
|
|
D1215994A VIRTEX FPGA board and SNPS QoS IPK Prototyping Kit.
|
|
|
|
If you have a controller with this interface, say Y or M here.
|
|
|
|
If unsure, say N.
|
|
endif
|