From ebe6852c1d04740fcb743c9a3ec0322bc311ad88 Mon Sep 17 00:00:00 2001 From: Stephen Howell Date: Fri, 10 Jan 2025 16:40:04 +0000 Subject: [PATCH] kernel: modules: add Intel ICE support Add support for the Intel E800 series of cards, with switchdev support enabled for lower CPU usage. Signed-off-by: Stephen Howell Signed-off-by: Hauke Mehrtens --- package/firmware/linux-firmware/intel.mk | 9 ++++ package/kernel/linux/modules/netdevices.mk | 63 ++++++++++++---------- 2 files changed, 43 insertions(+), 29 deletions(-) diff --git a/package/firmware/linux-firmware/intel.mk b/package/firmware/linux-firmware/intel.mk index fcd434a9f..885cb13dc 100644 --- a/package/firmware/linux-firmware/intel.mk +++ b/package/firmware/linux-firmware/intel.mk @@ -9,6 +9,15 @@ define Package/ibt-firmware/install endef $(eval $(call BuildPackage,ibt-firmware)) +Package/ice-firmware = $(call Package/firmware-default,Intel ICE firmware) +define Package/ice-firmware/install + $(INSTALL_DIR) $(1)/lib/firmware/intel/ice/ddp + $(CP) \ + $(PKG_BUILD_DIR)/intel/ice/ddp/*.pkg \ + $(1)/lib/firmware/intel/ice/ddp/ice.pkg +endef +$(eval $(call BuildPackage,ice-firmware)) + Package/iwl3945-firmware = $(call Package/firmware-default,Intel IWL3945 firmware) define Package/iwl3945-firmware/install $(INSTALL_DIR) $(1)/lib/firmware diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk index 3bbdcb2e7..1ed87a27c 100644 --- a/package/kernel/linux/modules/netdevices.mk +++ b/package/kernel/linux/modules/netdevices.mk @@ -1192,6 +1192,40 @@ endef $(eval $(call KernelPackage,iavf)) +define KernelPackage/ice + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) Ethernet Controller E810 Series support + DEPENDS:=@PCI_SUPPORT +kmod-ptp + KCONFIG:=CONFIG_ICE \ + CONFIG_ICE_HWTS=n \ + CONFIG_ICE_SWITCHDEV=y + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ice/ice.ko + AUTOLOAD:=$(call AutoProbe,ice) +endef + +define KernelPackage/ice/description + Kernel modules for Intel(R) Ethernet Controller E810 Series +endef + +$(eval $(call KernelPackage,ice)) + + +define KernelPackage/igc + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) Ethernet Controller I225 Series support + DEPENDS:=@PCI_SUPPORT +kmod-ptp + KCONFIG:=CONFIG_IGC + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igc/igc.ko + AUTOLOAD:=$(call AutoLoad,34,igc,1) +endef + +define KernelPackage/igc/description + Kernel modules for Intel(R) Ethernet Controller I225 Series +endef + +$(eval $(call KernelPackage,igc)) + + define KernelPackage/b44 TITLE:=Broadcom 44xx driver KCONFIG:=CONFIG_B44 @@ -1845,35 +1879,6 @@ endef $(eval $(call KernelPackage,sfp)) -define KernelPackage/igc - SUBMENU:=$(NETWORK_DEVICES_MENU) - TITLE:=Intel(R) Ethernet Controller I225 Series support - DEPENDS:=@PCI_SUPPORT +kmod-ptp - KCONFIG:=CONFIG_IGC - FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igc/igc.ko - AUTOLOAD:=$(call AutoLoad,34,igc,1) -endef - -define KernelPackage/igc/description - Kernel modules for Intel(R) Ethernet Controller I225 Series -endef - -$(eval $(call KernelPackage,igc)) - -define KernelPackage/ice - SUBMENU:=$(NETWORK_DEVICES_MENU) - TITLE:=Intel(R) Ethernet Controller E810 Series support - DEPENDS:=@PCI_SUPPORT +kmod-ptp - KCONFIG:=CONFIG_ICE - FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ice/ice.ko - AUTOLOAD:=$(call AutoProbe,ice) -endef - -define KernelPackage/ice/description - Kernel modules for Intel(R) Ethernet Controller E810 Series -endef - -$(eval $(call KernelPackage,ice)) define KernelPackage/sfc SUBMENU:=$(NETWORK_DEVICES_MENU)