7 Commits

Author SHA1 Message Date
Jiping Ma
c8f9c7798b intel-qv: upgrade the version to 1.2.0.21
Intel suggests to upgrade the intel-qv driver to the version
1.2.0.21 from 1.2.0.19 after we upgrade the kernel to 6.6.x.

Verification:
* The intel-qv driver can build success.
* Did not do the tests, it looks need docker image to do the test.
  So need the test team help to do the full tests.

Story: 2011056
Task: 50375

Change-Id: Id3773e85e4ae3cf637db34e997c5aaacde0eaa67
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
2024-07-15 03:07:56 +00:00
Jiping Ma
ba86fee885 kernel-modules: re-enable the OOT drivers
This commit re-enables ice, i40e, iavf, igb-uio, opae-fpga-driver and
iqvlinux OOT drivers.

In order to deal with a firmware incompatibility or if a problem is
found with the in-tree driver, we will continue to support one
version of each out-of-tree driver. The out-of-tree driver versions
that we plan to keep in StarlingX have been validated in the past.
We will be preserving i40e-2.20.12, iavf-4.5.3.2, and ice-1.9.11
as out-of-tree drivers. For the X700 series of NICs, i40e-2.20.12
is compatible with NVM (non-volatile memory, or firmware) version
9.20, and for the E810 series NICs, ice-1.9.11 is compatible with
NVM version 4.22.

The drivers igb-uio, opae-fpga-driver and iqvlinux are known to only
exist as OOT.

We encountered a few the version compatibility issues after upgrading
the kernel to 6.6.7 version. We adapted drivers' code to the kernel
6.6.7 by referring to the upstream commits.

We also change the driver location folder to "weak-updates" from
"updates" for ice, iavf and i40e so that the default drivers will be
the in-tree drivers.
    ice: 1.9.11
    i40e: 2.20.12
    iavf: 4.5.3.2

ice, i40e, iavf:
* commit b48b89f9c ("net: drop the weight argument from netif_napi_add")
  https://git.yoctoproject.org/linux-yocto/commit/?h=b48b89f9c

* commit 068c38ad ("net: Remove the obsolte u64_stats_fetch_*_irq()
  users (drivers).")
  https://git.yoctoproject.org/linux-yocto/commit/?h=068c38ad

* commit ba153552c ("ice: Remove redundant
  pci_enable_pcie_error_reporting()")
  https://git.yoctoproject.org/linux-yocto/commit/?h=ba153552c

* commit 680ee0456a ("net: invert the netdevice.h vs xdp.h dependency")
  https://git.yoctoproject.org/linux-yocto/commit/?h=680ee0456a

ice:
* commit ac73d4bf2 ("net: make drivers to use SET_NETDEV_DEVLINK_PORT
  to set devlink_port")
  https://git.yoctoproject.org/linux-yocto/commit/?h=ac73d4bf2

* commit 226bf98055 ("net: devlink: let the core report the driver name
  instead of the drivers")
  https://git.yoctoproject.org/linux-yocto/commit/?h=226bf98055

* commit fb8421a9 ("devlink: remove devlink features")
  https://git.yoctoproject.org/linux-yocto/commit/?h=fb8421a9

i40e:
* commit 3626a690b ("i40e: use mul_u64_u64_div_u64 for PTP frequency
  calculation")
  https://git.yoctoproject.org/linux-yocto/commit/?h=3626a690b

* commit ccd3bf985 ("i40e: convert .adjfreq to .adjfine")
  https://git.yoctoproject.org/linux-yocto/commit/?h=ccd3bf985

igb_uio:
Cherry pick upstream commit to fix the build error.
* commit 29b1c1e4 ("linux/igb_uio: fix build with kernel 5.18+")
  http://git.dpdk.org/dpdk-kmods/commit/?id=29b1c1e4

intel-opae-fpga:
* commit 1aaba11da9 ("driver core: class: remove module * from
  class_create()")
  https://git.yoctoproject.org/linux-yocto/commit/?h=1aaba11da9

iqvlinux:
* commit 79687789 ("PCI: Remove the deprecated "pci-dma-compat.h" API")
  https://git.yoctoproject.org/linux-yocto/commit/?h=79687789

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.
* Switch drivers between the OOT and in-tree drivers.
  - switch to the OOT drivers
    1. Add cmdline parameter multi-drivers-switch=cvl-4.0.1
    2. reboot
    can switch to the OOT drivers.
  - switch to the in-tree drivers
    1. Remove cmdline parameter multi-drivers-switch=cvl-4.0.1
    2. reboot
    can switch to the in-tree drivers.
* igb_uio, intel-opae-fpga, iqvlinux
    Did not do the tests, it looks need docker image to do the test.
    So need the test team help to do the full tests.

Story: 2011056
Task: 49672

Change-Id: I2c05dee6f35ed431e8a53d2680a3c7558f08abef
Signed-off-by: Jiping Ma <jiping.ma2@windirver.com>
(cherry picked from commit d4f8973274b993d4f9a38064298cba968f7a016b)
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
2024-07-10 23:17:25 +00:00
Zuul
a4bdae97dd Merge "cengn reference removal" 2023-10-11 18:26:05 +00:00
Li Zhou
8fed8973bc kernel-modules: Build-Depends on linux-headers-stx-amd64
Remove the kernel abiname/version from Build-Depends in OOT kernel
modules. After commit <Add pkgs without abiname for image/headers>
the new dependency is as this:
linux-kbuild-5.10 is depended by linux-headers-5.10.0-6-amd64;
linux-headers-5.10.0-6-amd64 is depended by linux-headers-stx-amd64.

Package linux-keys-5.10 is renamed to linux-keys.
Then the version numbers and abiname can be completely removed from
the Build-Depends of OOT kernel modules' codes.

Similar is done for RT kernel modules.

This is a preparation for kernel upgrading with major version.

Test plan:
 PASS: Build all the packages and iso successfully.
 PASS: The rt/std installations are fine for both qemu and lib.
 PASS: No warning appears for insmod/modprobe.

Depends-On: https://review.opendev.org/c/starlingx/kernel/+/896187

Story: 2010643
Task: 48815

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Change-Id: I860a751cf4c11f64c81877714ecddb10b488fa96
2023-09-26 22:01:29 -04:00
Scott Little
68cfe67368 cengn reference removal
mirror.starlingx.cengn.ca no longer exists. CENGN is kindly forwarding
requests to the new location mirror.starlingx.windriver.com for now, but
that will only last a few months. We need to replace all the references
with the new URL.

I will also remove as many 'cengn' references as possible, replacing
them with 'stx_mirror'

Partial-Bug: 2033555
Change-Id: I250f7aff90f71ea67b1502c21b4e914ba682946c
Signed-off-by: Scott Little <scott.little@windriver.com>
2023-09-14 09:59:51 -04:00
Luis Sampaio
c73c2272c5 Update debian package versions to use git commits
The Debian packaging has been changed to reflect all the
git commits under the directory, and not just the commits
to the metadata folder.

This ensures that any new code submissions under those
directories will increment the versions.

Test Plan:
Pass: build-pkgs -p linux-rt
Pass: build-pkgs -p kernel-std-signed
Pass: build-pkgs -p kernel-rt-signed
Pass: build-pkgs -p mlnx-ofed-kernel
Pass: build-pkgs -p igb-uio
Pass: build-pkgs -p i40e
Pass: build-pkgs -p ice-cvl-2.54
Pass: build-pkgs -p kmod-opae-fpga-driver
Pass: build-pkgs -p qat1.7.l
Pass: build-pkgs -p i40e-cvl-2.54
Pass: build-pkgs -p bnxt-en
Pass: build-pkgs -p iqvlinux
Pass: build-pkgs -p iavf
Pass: build-pkgs -p ice
Pass: build-pkgs -p iavf-cvl-2.54
Pass: build-pkgs -p libbnxt-re
Pass: build-pkgs -p mlnx-tools
Pass: build-pkgs -p rdma-core
Pass: build-pkgs -p mstflint
Pass: build-pkgs -p initramfs-trigger
Pass: build-pkgs -p linux

Story: 2010550
Task: 47342
Signed-off-by: Luis Sampaio <luis.sampaio@windriver.com>
Change-Id: I315231dba51badaf514458243555aa20b0a774da
2023-02-14 12:32:13 -08:00
Rogerio Ferraz
6bc25e5239 Intel Quartzville iqvlinux driver v1.2.0.19
The Intel Quartzville (QV) tools is a bundle of network utilities that
support validation, debug, and IEEE Conformance testing of Intel
network adapters; identification and diagnostics of Intel PCI adapters,
collection of properties and assigned resources, for automation; and
an EEPROM programming utility.

The Quartzville tools are proprietary, but the Intel QV Linux (iqvlinux)
driver is licensed as open source (GPL2), and can be freely distributed
as a kernel module.

This commit adds support of Intel Quartzville (QV) tools in StarlingX
kernel, as a facility to users that own a valid Intel QV license, so
they may install QV tools in StarlingX, without changes in the kernel.

The new kernel module is signed, as usual in StarlingX. For this, a
change is necessary in the original source code, to not disable module
signing. This change is done by patch.

Due to iqvlinux 1.2.0.19 is not yet available in sourceforge.net, the
source code tarball shall be hosted in StarlingX CENGN mirror.

Note that the new kernel modules are installed to a directory where
usually only in-tree kernel modules exist. This is done to satisfy the
user-space utilities' assumptions regarding the location of the kernel
module. We have also learned that the user-space utilities' assumption
regarding the kernel module's location may change in the future.

Test Plan:
  - Container image is built successfully on Debian (PASS)
  - iqvlinux driver package is successfully installed (PASS)
  - Run time testing of the QV tools (PASS)

Story: 2010138
Task: 46733

Signed-off-by: Rogerio Ferraz <RogerioOliveira.Ferraz@windriver.com>
Change-Id: Id12354a68508eaaafcf43db4b62cd4a623638650
2022-12-07 20:21:27 +00:00