Update iavf version to 4.7.0 to fix kernel-6.1 based build error

This commit is contained in:
yangl777 2023-02-01 07:55:07 +00:00
parent 2a77451a90
commit bb1e327a65
6 changed files with 23 additions and 146 deletions

View File

@ -1,42 +0,0 @@
From 7462494408cd3de8b0bc1e79670bf213288501d0 Mon Sep 17 00:00:00 2001
From: Hao Chen <chenhao288@hisilicon.com>
Date: Thu, 18 Nov 2021 20:12:43 +0800
Subject: ethtool: extend ringparam setting/getting API with rx_buf_len
Add two new parameters kernel_ringparam and extack for
.get_ringparam and .set_ringparam to extend more ring params
through netlink.
---
src/iavf_ethtool.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
delete mode 100644 src/.iavf_ethtool_stats.h.swp
diff --git a/src/iavf_ethtool.c b/src/iavf_ethtool.c
index 3f7d427..545685f 100644
--- a/src/iavf_ethtool.c
+++ b/src/iavf_ethtool.c
@@ -634,7 +634,9 @@ static void iavf_get_drvinfo(struct net_device *netdev,
* but the number of rings is not reported.
**/
static void iavf_get_ringparam(struct net_device *netdev,
- struct ethtool_ringparam *ring)
+ struct ethtool_ringparam *ring,
+ struct kernel_ethtool_ringparam *kernel_ring,
+ struct netlink_ext_ack *extack)
{
struct iavf_adapter *adapter = netdev_priv(netdev);
@@ -653,7 +655,9 @@ static void iavf_get_ringparam(struct net_device *netdev,
* number of rings is not specified, so all rings get the same settings.
**/
static int iavf_set_ringparam(struct net_device *netdev,
- struct ethtool_ringparam *ring)
+ struct ethtool_ringparam *ring,
+ struct kernel_ethtool_ringparam *kernel_ring,
+ struct netlink_ext_ack *extack)
{
struct iavf_adapter *adapter = netdev_priv(netdev);
u32 new_rx_count, new_tx_count;
--
2.27.0

View File

@ -1,60 +0,0 @@
From f3ccfda1931977b80267ba54070a1aeafa18f6ca Mon Sep 17 00:00:00 2001
From: Yufeng Mo <moyufeng@huawei.com>
Date: Fri, 20 Aug 2021 15:35:18 +0800
Subject: [PATCH] ethtool: extend coalesce setting uAPI with CQE mode
In order to support more coalesce parameters through netlink,
add two new parameter kernel_coal and extack for .set_coalesce
and .get_coalesce, then some extra info can return to user with
the netlink API.
Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
src/iavf_ethtool.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/iavf_ethtool.c b/src/iavf_ethtool.c
index 3f7d427..4b60027 100644
--- a/src/iavf_ethtool.c
+++ b/src/iavf_ethtool.c
@@ -753,6 +753,8 @@ static int __iavf_get_coalesce(struct net_device *netdev,
* iavf_get_coalesce - Get interrupt coalescing settings
* @netdev: network interface device structure
* @ec: ethtool coalesce structure
+ * @kernel_coal: ethtool CQE mode setting structure
+ * @extack: extack for reporting error messages
*
* Returns current coalescing settings. This is referred to elsewhere in the
* driver as Interrupt Throttle Rate, as this is how the hardware describes
@@ -760,7 +762,9 @@ static int __iavf_get_coalesce(struct net_device *netdev,
* only represents the settings of queue 0.
**/
static int iavf_get_coalesce(struct net_device *netdev,
- struct ethtool_coalesce *ec)
+ struct ethtool_coalesce *ec,
+ struct kernel_ethtool_coalesce *kernel_coal,
+ struct netlink_ext_ack *extack)
{
return __iavf_get_coalesce(netdev, ec, -1);
}
@@ -898,11 +902,15 @@ static int __iavf_set_coalesce(struct net_device *netdev,
* iavf_set_coalesce - Set interrupt coalescing settings
* @netdev: network interface device structure
* @ec: ethtool coalesce structure
+ * @kernel_coal: ethtool CQE mode setting structure
+ * @extack: extack for reporting error messages
*
* Change current coalescing settings for every queue.
**/
static int iavf_set_coalesce(struct net_device *netdev,
- struct ethtool_coalesce *ec)
+ struct ethtool_coalesce *ec,
+ struct kernel_ethtool_coalesce *kernel_coal,
+ struct netlink_ext_ack *extack)
{
return __iavf_set_coalesce(netdev, ec, -1);
}
--
2.30.0

View File

@ -1,37 +0,0 @@
From f72271e2a0ae4277d53c4053f5eed8bb346ba38a Mon Sep 17 00:00:00 2001
From: Brian King <brking@linux.vnet.ibm.com>
Date: Fri, 17 Nov 2017 11:05:49 -0600
Subject: i40evf: Use smp_rmb rather than read_barrier_depends
The original issue being fixed in this patch was seen with the ixgbe
driver, but the same issue exists with i40evf as well, as the code is
very similar. read_barrier_depends is not sufficient to ensure
loads following it are not speculatively loaded out of order
by the CPU, which can result in stale data being loaded, causing
potential system crashes.
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/iavf_txrx.c b/src/iavf_txrx.c
index 03c685c..da3cfed 100644
--- a/src/iavf_txrx.c
+++ b/src/iavf_txrx.c
@@ -289,7 +289,7 @@ static bool iavf_clean_tx_irq(struct iavf_vsi *vsi,
break;
/* prevent any other reads prior to eop_desc */
- read_barrier_depends();
+ smp_rmb();
iavf_trace(clean_tx_irq, tx_ring, tx_desc, tx_buf);
/* if the descriptor isn't done, no work yet to do */
--
1.8.3.1

Binary file not shown.

BIN
iavf-4.7.0.tar.gz Normal file

Binary file not shown.

View File

@ -8,21 +8,17 @@
Name: iavf
Summary: Intel(R) Ethernet Adaptive Virtual Function Driver
Version: 4.0.1
Release: 8
Version: 4.7.0
Release: 1
Vendor: Intel Corporation
License: GPL-2.0
URL: http://support.intel.com
Source0: https://downloadmirror.intel.com/30326/eng/%{name}-%{version}.tar.gz
Source0: https://downloadmirror.intel.com/762473/%{name}-%{version}.tar.gz
Requires: kernel, findutils, gawk, bash, hwdata
BuildRequires: kernel-devel hwdata uname-build-checks gcc
Patch0: fix-build-error-with-Linux-5.10.patch
Patch1: backport-extend-coalesce-setting-uAPI-with-CQE-mode.patch
Patch2: backport-ethtool-extend-ringparam-setting-getting-API-with-rx.patch
%description
This package contains the Intel(R) Ethernet Adaptive Virtual Function Driver.
@ -331,6 +327,11 @@ fi
uname -r | grep BOOT || /sbin/depmod -a > /dev/null 2>&1 || true
if [ -x "/usr/sbin/weak-modules" ]; then
modules=( $(cat %{_docdir}/%{name}/file.list | grep '\.ko$' | xargs realpath) )
printf '%s\n' "${modules[@]}" | /usr/sbin/weak-modules --no-initramfs --add-modules
fi
if which dracut >/dev/null 2>&1; then
echo "Updating initramfs with dracut..."
if dracut --force ; then
@ -356,11 +357,20 @@ else
fi
%preun
# save tmp list of installed kernel modules for weak-modules
cat %{_docdir}/%{name}/file.list | grep '\.ko$' | xargs realpath > /var/run/rpm-%{name}-modules.list
rm -rf /usr/local/share/%{name}
%postun
uname -r | grep BOOT || /sbin/depmod -a > /dev/null 2>&1 || true
if [ -x "/usr/sbin/weak-modules" ]; then
modules=( $(cat /var/run/rpm-%{name}-modules.list) )
printf '%s\n' "${modules[@]}" | /usr/sbin/weak-modules --no-initramfs --remove-modules
fi
rm /var/run/rpm-%{name}-modules.list
if which dracut >/dev/null 2>&1; then
echo "Updating initramfs with dracut..."
if dracut --force ; then
@ -386,6 +396,12 @@ else
fi
%changelog
* Wed Feb 01 2023 yanglu <yanglu72@h-partners.com> - 4.7.0-1
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:Update iavf version to 4.7.0 to fix kernel-6.1 based build error
* Tue Dec 06 2022 xingwei <xingwei@h-partners.com> - 4.0.1-8
- Type:bugfix
- ID:NA