]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: Add kmod-sfc-siena for Solarflare SFN5000/6000 series NICs
authorSteve Wavler <trenchcoatjedi@gmail.com>
Sun, 3 Aug 2025 13:02:55 +0000 (09:02 -0400)
committerHauke Mehrtens <hauke@hauke-m.de>
Thu, 7 Aug 2025 12:07:42 +0000 (14:07 +0200)
kmod-sfc should add support for Solarflare SFC9000 series based cards.
However after kernel 5.19, support for the 'Siena' subclass of
SFN5000/6000 devices has been separated out since they went EOL as they
are no longer being actively developed. As kmod-sfc no longer provides
driver support for these cards and hasn't since kernel 5.2, a new kernel
module is needed to support these 10Gb Ethernet cards. More info here:
https://cateee.net/lkddb/web-lkddb/SFC_SIENA.html and here:
https://www.phoronix.com/news/Solarflare-SFC-Siena-Linux-5.19

The module can be compiled in separately and works if kernel is custom
compiled;

OpenWRT has made these changes already with the SFC 'falcon' subclass of
drivers already. See 3c5d70a and e5ba6e9

This is building on excellent work by @ynezz and @nasbdh9

Signed-off-by: Steve Wavler <trenchcoatjedi@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19647
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/kernel/linux/modules/netdevices.mk

index ff581499ed625f5d03bb5ba4986905cd5a78189f..9ae3958dfed8823708f3019b1ff08ccc51262895 100644 (file)
@@ -2071,6 +2071,27 @@ endef
 $(eval $(call KernelPackage,sfc-falcon))
 
 
+define KernelPackage/sfc-siena
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Solarflare SFN5000/6000 'Siena' based card support
+  DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-lib-crc32c +kmod-i2c-algo-bit +kmod-ptp +kmod-hwmon-core
+  KCONFIG:= \
+       CONFIG_SFC_SIENA \
+       CONFIG_SFC_SIENA_MTD=y \
+       CONFIG_SFC_SIENA_MCDI_MON=y \
+       CONFIG_SFC_SIENA_MCDI_LOGGING=y \
+       CONFIG_SFC_SIENA_SRIOV=y
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/sfc/siena/sfc-siena.ko
+  AUTOLOAD:=$(call AutoProbe,sfc-siena)
+endef
+
+define KernelPackage/sfc-siena/description
+  Solarflare SFN5000/6000 'Siena' based card support
+endef
+
+$(eval $(call KernelPackage,sfc-siena))
+
+
 define KernelPackage/wwan
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=WWAN Driver Core