!25 Update iavf version to 4.7.0 to fix kernel-6.1 based build error
From: @yangl777 Reviewed-by: @seuzw Signed-off-by: @seuzw
This commit is contained in:
commit
269dc4f0bb
@ -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
|
||||
@ -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
|
||||
@ -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
BIN
iavf-4.7.0.tar.gz
Normal file
Binary file not shown.
30
iavf.spec
30
iavf.spec
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user