kernel: Enable the in-tree drivers and disable OOT drivers

We had updated the Linux kernel to the latest 6.6.x stable kernel.  As
part of this we want to transition from out-of-tree (OOT) kernel drivers
to in-tree drivers to reduce the development effort going forward and to
benefit from community testing and the latest bug fixes.

Enable the in-tree drivers ice, iavf, i40e, bnxt_re, bnxt_en, mlx5_core,
mlx5_ib, rpcrdma, irdma and infiniband related modules, also enable
ionic and sfc. This commit also disables all OOT drivers before we
support them again because there are build issues.

In addition, if we need support rdma function for the in-tree bnxt_re
we will use
https://github.com/linux-rdma/rdma-core/tree/master/providers/bnxt_re
Currently libbnxt_re comes from Broadcom bcm_220.0.83.0.tar.gz
in the starlingx. This part will be done in the future depend on which
driver will be used between the OOT and the in-tree drivers.

Note: The intel-ice package is preserving, but we do not enable the OOT
ice driver, only kept ddp file so that the in-tree driver ice can use
the ddp file. We will add the ddp file for in-tree driver once Intel
finished their testing.

Verification:
* ice, i40e, iavf:
  - installs from iso succeed on servers with ice(ntel E810-2C-QDA2
    Chapman beach) and i40e hw(Intel Ethernet Controller X710) for
    rt and std.
  - interfaces are up and pass packets for rt and std.
  - create vfs, ensure that they are picked up by the new iavf
    driver and that the interface can come up and pass packets
    on rt and std system.
  - Check dmesg to see DDP package is loaded successfully and
    the version is 1.3.30.0 for rt and std.
* bnxt_en/bnxt_re:
  - Installation of the ISO image is successful with standard and
    low-latency profiles.
  - Physical function interfaces are up and pass packets for rt and std.
  - Create vfs, ensure that the interface can come up and pass packets.
  - RDMA/Infiniband over Ethernet functionalities of the Broadcom
    adapters were successfully tested using the Linux RDMA community's
    perftest package.
* mlx5_core related drivers:
  - Build package success for rdma-core, mstflint.
  - Install onto a StarlingX system with All-in-One lab with network
    adapters Mellanox's OFED. The network adapters of controllers
    are Mellanox Technologies MT27800 Family [ConnectX-5].
  - Install onto a StarlingX system in labs with network
    adapters Mellanox's OFED. The network adapters of controllers
    are [ConnectX-6 LX] failed. It looks not the driver issue.
  - The physical function interfaces are up and pass packets for rt
    and std.
  - create vfs, ensure that the interface can come up and pass packets.
  - RDMA/Infiniband over Ethernet functionalities of the Mellanox
    adapters were successfully tested using the Linux RDMA community's
    perftest package.

Story: 2011056
Task: 49630

Change-Id: Icb9e6c111532edf03c979144f8ce32a81006834f
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
(cherry picked from commit e8e3c290fc)
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
This commit is contained in:
Jiping Ma 2024-02-28 01:08:20 -05:00
parent 6acb51d4e2
commit fc2487cfea
6 changed files with 122 additions and 107 deletions

View File

@ -1,51 +1,51 @@
# List of packages to be included/installed in ISO
# bnxt_en - Broadcom kernel modules
bnxt-en
bnxt-en-rt
#bnxt-en
#bnxt-en-rt
#intel-i40e
i40e
i40e-rt
i40e-cvl-2.54
i40e-cvl-2.54-rt
i40e-cvl-4.10
i40e-cvl-4.10-rt
#i40e
#i40e-rt
#i40e-cvl-2.54
#i40e-cvl-2.54-rt
#i40e-cvl-4.10
#i40e-cvl-4.10-rt
#intel-iavf
iavf
iavf-rt
iavf-cvl-2.54
iavf-cvl-2.54-rt
iavf-cvl-4.10
iavf-cvl-4.10-rt
#iavf
#iavf-rt
#iavf-cvl-2.54
#iavf-cvl-2.54-rt
#iavf-cvl-4.10
#iavf-cvl-4.10-rt
#intel-ice
ice
ice-rt
ice-cvl-2.54
ice-cvl-2.54-rt
ice-cvl-4.10
ice-cvl-4.10-rt
#ice
#ice-rt
#ice-cvl-2.54
#ice-cvl-2.54-rt
#ice-cvl-4.10
#ice-cvl-4.10-rt
# Marvell kernel modules
octeon-ep
octeon-ep-rt
#octeon-ep
#octeon-ep-rt
#intel-igb_uio
igb-uio
igb-uio-rt
#igb-uio
#igb-uio-rt
#initramfs-trigger
initramfs-trigger
# Intel Quartzville Linux Driver
iqvlinux
iqvlinux-rt
#iqvlinux
#iqvlinux-rt
#intel-opae-fpgaa
kmod-opae-fpga-driver
kmod-opae-fpga-driver-rt
#kmod-opae-fpga-driver
#kmod-opae-fpga-driver-rt
# libbnxt_re - Broadcom Infiniband verbs library
libbnxt-re
@ -64,13 +64,13 @@ linux-libc-dev
linux-perf
#mlnx-ofa_kernel
mlnx-ofed-kernel-modules
mlnx-ofed-kernel-modules-rt
mlnx-ofed-kernel-utils
#mlnx-ofed-kernel-modules
#mlnx-ofed-kernel-modules-rt
#mlnx-ofed-kernel-utils
#qat20
qat2.0.l
qat2.0.l-rt
#qat2.0.l
#qat2.0.l-rt
#rdma-core
ibacm

View File

@ -1,20 +1,20 @@
kernel-std
kernel-modules/bnxt_en
kernel-modules/intel-i40e
kernel-modules/intel-i40e-cvl-2.54
kernel-modules/intel-i40e-cvl-4.10
kernel-modules/intel-iavf
kernel-modules/intel-iavf-cvl-2.54
kernel-modules/intel-iavf-cvl-4.10
#kernel-modules/bnxt_en
#kernel-modules/intel-i40e
#kernel-modules/intel-i40e-cvl-2.54
#kernel-modules/intel-i40e-cvl-4.10
#kernel-modules/intel-iavf
#kernel-modules/intel-iavf-cvl-2.54
#kernel-modules/intel-iavf-cvl-4.10
kernel-modules/intel-ice
kernel-modules/intel-ice-cvl-2.54
kernel-modules/intel-ice-cvl-4.10
kernel-modules/intel-igb_uio
kernel-modules/intel-opae-fpga
kernel-modules/intel-qv
kernel-modules/mlnx-ofa_kernel
kernel-modules/qat
kernel-modules/octeon_ep
#kernel-modules/intel-ice-cvl-2.54
#kernel-modules/intel-ice-cvl-4.10
#kernel-modules/intel-igb_uio
#kernel-modules/intel-opae-fpga
#kernel-modules/intel-qv
#kernel-modules/mlnx-ofa_kernel
#kernel-modules/qat
#kernel-modules/octeon_ep
userspace/broadcom/libbnxt_re
userspace/mellanox/rdma-core
userspace/mellanox/mstflint

View File

@ -1,17 +1,17 @@
kernel-rt
kernel-modules/bnxt_en
kernel-modules/intel-i40e
kernel-modules/intel-i40e-cvl-2.54
kernel-modules/intel-i40e-cvl-4.10
kernel-modules/intel-iavf
kernel-modules/intel-iavf-cvl-2.54
kernel-modules/intel-iavf-cvl-4.10
#kernel-modules/bnxt_en
#kernel-modules/intel-i40e
#kernel-modules/intel-i40e-cvl-2.54
#kernel-modules/intel-i40e-cvl-4.10
#kernel-modules/intel-iavf
#kernel-modules/intel-iavf-cvl-2.54
#kernel-modules/intel-iavf-cvl-4.10
kernel-modules/intel-ice
kernel-modules/intel-ice-cvl-2.54
kernel-modules/intel-ice-cvl-4.10
kernel-modules/intel-igb_uio
kernel-modules/intel-opae-fpga
kernel-modules/intel-qv
kernel-modules/mlnx-ofa_kernel
kernel-modules/qat
kernel-modules/octeon_ep
#kernel-modules/intel-ice-cvl-2.54
#kernel-modules/intel-ice-cvl-4.10
#kernel-modules/intel-igb_uio
#kernel-modules/intel-opae-fpga
#kernel-modules/intel-qv
#kernel-modules/mlnx-ofa_kernel
#kernel-modules/qat
#kernel-modules/octeon_ep

View File

@ -48,11 +48,11 @@ pubkey ?= $(_keydir)/signing_key.x509
endif
override_dh_auto_install:
dh_install src/$(kmod_name).ko /lib/modules/$(kversion)/updates/$(kmod_name)-$(bundle_version)/
dh_install -p$(pkg_common_name) pci.updates $(_defaultdocdir)/kmod-$(kmod_name)-$(version)/
dh_install -p$(pkg_common_name) README $(_defaultdocdir)/kmod-$(kmod_name)-$(version)/
dh_install -p$(pkg_common_name) $(kmod_name).7 $(_mandir)/man7/
dh_install -p$(pkg_common_name) debian/extra/ice.conf $(_sysconfdir)/modules-load.d/
# dh_install src/$(kmod_name).ko /lib/modules/$(kversion)/updates/$(kmod_name)-$(bundle_version)/
# dh_install -p$(pkg_common_name) pci.updates $(_defaultdocdir)/kmod-$(kmod_name)-$(version)/
# dh_install -p$(pkg_common_name) README $(_defaultdocdir)/kmod-$(kmod_name)-$(version)/
# dh_install -p$(pkg_common_name) $(kmod_name).7 $(_mandir)/man7/
# dh_install -p$(pkg_common_name) debian/extra/ice.conf $(_sysconfdir)/modules-load.d/
# Install both the OS default regular DDP fw and the COMMS version
dh_installdirs -p$(pkg_common_name) /lib/firmware/updates/intel/ice/ddp/
install -m 644 ddp/README debian/$(pkg_common_name)/lib/firmware/updates/intel/ice/ddp/
@ -62,18 +62,18 @@ override_dh_auto_install:
install -m644 ice_comms/ice_comms*.pkg debian/$(pkg_common_name)/lib/firmware/updates/intel/ice/ddp/
# Make the regular DDP fw be the default one to load
dh_installdirs -p$(pkg_common_name) /lib/firmware/intel/ice/ddp/
ln -frs debian/$(pkg_common_name)/lib/firmware/updates/intel/ice/ddp/ice-*.pkg debian/$(pkg_common_name)/lib/firmware/intel/ice/ddp/stx-ice.pkg
ln -frs debian/$(pkg_common_name)/lib/firmware/updates/intel/ice/ddp/ice-*.pkg debian/$(pkg_common_name)/lib/firmware/intel/ice/ddp/ice.pkg
override_dh_strip:
dh_strip
find debian -name '*.ko' | xargs strip -g
# dh_strip
# find debian -name '*.ko' | xargs strip -g
ifeq ($(WITH_MOD_SIGN),1)
@echo "Sign the modules!"
/usr/lib/linux@KERNEL_TYPE@-kbuild-*/scripts/sign-file sha256 $(privkey) $(pubkey) \
# @echo "Sign the modules!"
# /usr/lib/linux@KERNEL_TYPE@-kbuild-*/scripts/sign-file sha256 $(privkey) $(pubkey) \
./debian/$(pkg_name)/lib/modules/$(kversion)/updates/$(kmod_name)-$(bundle_version)/$(kmod_name).ko
endif
override_dh_auto_build:
unzip -d ddp_comms 800-Series-DDP-Comms-Package-*.zip
unzip -d ice_comms ddp_comms/ice_comms*.zip
dh_auto_build -D ./src
# dh_auto_build -D ./src

View File

@ -2444,11 +2444,11 @@ CONFIG_TIGON3_HWMON=y
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
# CONFIG_SYSTEMPORT is not set
# CONFIG_BNXT is not set
# CONFIG_BNXT_SRIOV is not set
# CONFIG_BNXT_FLOWER_OFFLOAD is not set
# CONFIG_BNXT_DCB is not set
# CONFIG_BNXT_HWMON is not set
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT_DCB=y
CONFIG_BNXT_HWMON=y
CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not set
CONFIG_NET_VENDOR_CADENCE=y
@ -2506,15 +2506,17 @@ CONFIG_IXGBE_DCB=y
CONFIG_IXGBE_IPSEC=y
CONFIG_IXGBEVF=m
CONFIG_IXGBEVF_IPSEC=y
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
CONFIG_I40E=m
CONFIG_IAVF=m
CONFIG_ICE=m
# CONFIG_FM10K is not set
CONFIG_IGC=m
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
CONFIG_NET_VENDOR_MELLANOX=m
CONFIG_NET_VENDOR_MICREL=y
CONFIG_MLX5_CORE=m
CONFIG_MLXFW=m
# CONFIG_KS8842 is not set
# CONFIG_KS8851 is not set
# CONFIG_KS8851_MLL is not set
@ -2541,7 +2543,7 @@ CONFIG_NET_VENDOR_PACKET_ENGINES=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_NET_VENDOR_PENSANDO=y
# CONFIG_IONIC is not set
CONFIG_IONIC=m
CONFIG_NET_VENDOR_QLOGIC=y
CONFIG_QLA3XXX=m
# CONFIG_QLCNIC is not set
@ -2569,8 +2571,8 @@ CONFIG_ROCKER=m
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
# CONFIG_SFC is not set
# CONFIG_SFC_FALCON is not set
CONFIG_SFC=m
CONFIG_SFC_FALCON=m
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
@ -4429,20 +4431,24 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
CONFIG_LEDS_TRIGGER_AUDIO=m
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=m
# CONFIG_INFINIBAND_USER_MAD is not set
# CONFIG_INFINIBAND_USER_ACCESS is not set
# CONFIG_INFINIBAND_ADDR_TRANS is not set
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_ADDR_TRANS=m
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_MLX4_INFINIBAND is not set
CONFIG_MLX5_INFINIBAND=m
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFINIBAND_BNXT_RE is not set
CONFIG_INFINIBAND_BNXT_RE=m
CONFIG_INFINIBAND_EFA=m
CONFIG_INFINIBAND_IRDMA=m
# CONFIG_INFINIBAND_HFI1 is not set
# CONFIG_INFINIBAND_QEDR is not set
# CONFIG_INFINIBAND_RDMAVT is not set
# CONFIG_RDMA_RXE is not set
# CONFIG_RDMA_SIW is not set
# CONFIG_INFINIBAND_IPOIB is not set
CONFIG_INFINIBAND_IPOIB=m
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
@ -5564,6 +5570,7 @@ CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set
# CONFIG_SUNRPC_DEBUG is not set

View File

@ -2453,11 +2453,11 @@ CONFIG_TIGON3_HWMON=y
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
# CONFIG_SYSTEMPORT is not set
# CONFIG_BNXT is not set
# CONFIG_BNXT_SRIOV is not set
# CONFIG_BNXT_FLOWER_OFFLOAD is not set
# CONFIG_BNXT_DCB is not set
# CONFIG_BNXT_HWMON is not set
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT_DCB=y
CONFIG_BNXT_HWMON=y
CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not set
CONFIG_NET_VENDOR_CADENCE=y
@ -2515,9 +2515,9 @@ CONFIG_IXGBE_DCB=y
CONFIG_IXGBE_IPSEC=y
CONFIG_IXGBEVF=m
CONFIG_IXGBEVF_IPSEC=y
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
CONFIG_I40E=m
CONFIG_IAVF=m
CONFIG_ICE=m
# CONFIG_FM10K is not set
CONFIG_IGC=m
# CONFIG_JME is not set
@ -2550,7 +2550,7 @@ CONFIG_NET_VENDOR_PACKET_ENGINES=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_NET_VENDOR_PENSANDO=y
# CONFIG_IONIC is not set
CONFIG_IONIC=m
CONFIG_NET_VENDOR_QLOGIC=y
CONFIG_QLA3XXX=m
# CONFIG_QLCNIC is not set
@ -2578,8 +2578,8 @@ CONFIG_ROCKER=m
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
# CONFIG_SFC is not set
# CONFIG_SFC_FALCON is not set
CONFIG_SFC=m
CONFIG_SFC_FALCON=y
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
@ -2602,6 +2602,9 @@ CONFIG_PHYLIB=y
CONFIG_SWPHY=y
CONFIG_LED_TRIGGER_PHY=y
CONFIG_FIXED_PHY=y
CONFIG_NET_VENDOR_MELLANOX=m
CONFIG_MLX5_CORE=m
CONFIG_MLXFW=m
#
# MII PHY device drivers
@ -4417,20 +4420,24 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
CONFIG_LEDS_TRIGGER_AUDIO=m
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=m
# CONFIG_INFINIBAND_USER_MAD is not set
# CONFIG_INFINIBAND_USER_ACCESS is not set
# CONFIG_INFINIBAND_ADDR_TRANS is not set
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_ADDR_TRANS=m
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_MLX4_INFINIBAND is not set
CONFIG_MLX5_INFINIBAND=m
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFINIBAND_BNXT_RE is not set
CONFIG_INFINIBAND_BNXT_RE=m
CONFIG_INFINIBAND_EFA=m
CONFIG_INFINIBAND_IRDMA=m
# CONFIG_INFINIBAND_HFI1 is not set
# CONFIG_INFINIBAND_QEDR is not set
# CONFIG_INFINIBAND_RDMAVT is not set
# CONFIG_RDMA_RXE is not set
# CONFIG_RDMA_SIW is not set
# CONFIG_INFINIBAND_IPOIB is not set
CONFIG_INFINIBAND_IPOIB=m
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
@ -5571,6 +5578,7 @@ CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set
# CONFIG_SUNRPC_DEBUG is not set