fcec7cba9b
This upgrades the intel driver versions to the ones listed in Intel driver bundle 27.1. The list can be found here: https://downloadmirror.intel.com/727294/Release_Notes_27.1.pdf Also upgrades the ddp firmware to ice_comms-1.3.35.0 from ice_comm-1.3.31.0. 0001-ice_xsk-Avoid-dependency-on-napi_busy_loop-with-PREE.patch has been dropped because the fix had been integrated to the driver ice-1.8.3. The new versions are: ice-1.8.3 i40e-2.18.9 iavf-4.2.2 Reason: Update ICE driver to support the Intel Logan Beach NIC (E810-CQDA2T), and that dictates the upgrade of the iavf driver which in turn dictates the upgrade of the i40e driver. We select the versions listed in official Intel driver bundle 27.1 to keep the driver versions compatible with each other. The ice_comm ddp firmware upgrade to version 1.3.35.0 is also dictated by the bundle. Verification: - installs from iso succeed on servers with ice(Intel Ethernet Controller E810) and i40e hw(Intel Ethernet Controller X710) - interfaces are up and pass packets - create vfs, ensure that they are picked up by the new iavf driver and that the interface can come up and pass packets - Check dmesg to see DDP package is loaded successfully and the version is 1.3.35.0. Note that we do not test it on Intel Logan Beach NIC, because the network adapter is not available in our lab yet. We will test it once Intel Logan Beach NIC is ready. Story: 2009952 Task: 44895 Depends-On: https://review.opendev.org/c/starlingx/tools/+/836728 Signed-off-by: Jiping Ma <jiping.ma2@windriver.com> Change-Id: I93dcf00fe443c4f86db2f8a65e159f9da05acc29
73 lines
2.9 KiB
Diff
73 lines
2.9 KiB
Diff
From 722c51d207ea30388dfc63cec635e1d3e7d9d681 Mon Sep 17 00:00:00 2001
|
|
From: "M. Vefa Bicakci" <vefa.bicakci@windriver.com>
|
|
Date: Fri, 14 Jan 2022 17:50:39 -0500
|
|
Subject: [PATCH] ice_main, ice_lib: Use irq_update_affinity_hint
|
|
|
|
This commit makes the ice device driver use the irq_update_affinity_hint
|
|
function instead of the irq_set_affinity_hint function. This is done
|
|
because the latter function sets the IRQ CPU affinities, whereas the
|
|
former does not, and this allows the use of the default IRQ affinity CPU
|
|
mask provided via the irqaffinity= kernel command line option.
|
|
|
|
Please note that this patch was not cherry-picked from an upstream
|
|
commit. The changes have been inspired by the i40e and iavf device
|
|
driver patches in the following patch series:
|
|
https://lore.kernel.org/netdev/20210903152430.244937-1-nitesh@redhat.com/t/#u
|
|
|
|
The aforementioned patches have been mainlined as of this writing with
|
|
the following merge commit by Linus Torvalds:
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=147cc5838c0f5c76e908b816e924ca378e0d4735
|
|
|
|
And the i40e and iavf patches are accessible at:
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d34c54d1739c2cdf2e4437b74e6da269147f4987
|
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0f9744f4ed539f2e847d7ed41993b243e3ba5cff
|
|
|
|
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
|
[jm: Adapted the patch for context changes.]
|
|
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
|
---
|
|
src/ice_lib.c | 2 +-
|
|
src/ice_main.c | 6 +++---
|
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/src/ice_lib.c b/src/ice_lib.c
|
|
index 034a064..313273f 100644
|
|
--- a/src/ice_lib.c
|
|
+++ b/src/ice_lib.c
|
|
@@ -2900,7 +2900,7 @@ void ice_vsi_free_irq(struct ice_vsi *vsi)
|
|
irq_set_affinity_notifier(irq_num, NULL);
|
|
|
|
/* clear the affinity_mask in the IRQ descriptor */
|
|
- irq_set_affinity_hint(irq_num, NULL);
|
|
+ irq_update_affinity_hint(irq_num, NULL);
|
|
synchronize_irq(irq_num);
|
|
devm_free_irq(ice_pf_to_dev(pf), irq_num, vsi->q_vectors[i]);
|
|
}
|
|
diff --git a/src/ice_main.c b/src/ice_main.c
|
|
index e00d7f8..ca761bd 100644
|
|
--- a/src/ice_main.c
|
|
+++ b/src/ice_main.c
|
|
@@ -3417,8 +3417,8 @@ static int ice_vsi_req_irq_msix(struct ice_vsi *vsi, char *basename)
|
|
irq_set_affinity_notifier(irq_num, affinity_notify);
|
|
}
|
|
|
|
- /* assign the mask for this irq */
|
|
- irq_set_affinity_hint(irq_num, &q_vector->affinity_mask);
|
|
+ /* assign the affinity hint for this irq */
|
|
+ irq_update_affinity_hint(irq_num, &q_vector->affinity_mask);
|
|
}
|
|
|
|
vsi->irqs_ready = true;
|
|
@@ -3430,7 +3430,7 @@ free_q_irqs:
|
|
irq_num = ice_get_irq_num(pf, base + vector);
|
|
if (!IS_ENABLED(CONFIG_RFS_ACCEL))
|
|
irq_set_affinity_notifier(irq_num, NULL);
|
|
- irq_set_affinity_hint(irq_num, NULL);
|
|
+ irq_update_affinity_hint(irq_num, NULL);
|
|
devm_free_irq(dev, irq_num, &vsi->q_vectors[vector]);
|
|
}
|
|
return err;
|
|
--
|
|
2.31.1
|
|
|