Skip to content

Commit 1c97861

Browse files
committed
Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue
Tony Nguyen says: ==================== Intel Wired LAN Driver Updates 2024-11-05 (ice, ixgbe, igc. igb, igbvf, e1000) For ice: Mateusz refactors and adds additional SerDes configuration values to be output. Przemek refactors processing of DDP and adds support for a flag field in the DDP's signature segment header. Joe Damato adds support for persistent NAPI config. Brett adjusts setting of Tx promiscuous based on unicast/multicast setting. Jake moves setting of pf->supported_rxdids to occur directly after DDP load and changes a small struct to use stack memory. Frederic Weisbecker adds WQ_UNBOUND flag to the workqueue. For ixgbe: Diomidis Spinellis removes a circular dependency. For igc: Vitaly removes an unneeded autoneg parameter. For igb: Johnny Park fixes a couple of typos. For igbvf: Wander Lairson Costa removes an unused spinlock. For e1000: Joe Damato adds RTNL lock to some calls where it is expected to be held. * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue: e1000: Hold RTNL when e1000_down can be called igbvf: remove unused spinlock igb: Fix 2 typos in comments in igb_main.c igc: remove autoneg parameter from igc_mac_info ixgbe: Break include dependency cycle ice: Unbind the workqueue ice: use stack variable for virtchnl_supported_rxdids ice: initialize pf->supported_rxdids immediately after loading DDP ice: only allow Tx promiscuous for multicast ice: Add support for persistent NAPI config ice: support optional flags in signature segment header ice: refactor "last" segment of DDP pkg ice: extend dump serdes equalizer values feature ice: rework of dump serdes equalizer values feature ==================== Link: https://patch.msgid.link/20241113185431.1289708-1-anthony.l.nguyen@intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2 parents e709d44 + e400c74 commit 1c97861

27 files changed

Lines changed: 513 additions & 481 deletions

drivers/net/ethernet/intel/e1000/e1000_main.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3509,7 +3509,9 @@ static void e1000_reset_task(struct work_struct *work)
35093509
container_of(work, struct e1000_adapter, reset_task);
35103510

35113511
e_err(drv, "Reset adapter\n");
3512+
rtnl_lock();
35123513
e1000_reinit_locked(adapter);
3514+
rtnl_unlock();
35133515
}
35143516

35153517
/**
@@ -5074,7 +5076,9 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake)
50745076
usleep_range(10000, 20000);
50755077

50765078
WARN_ON(test_bit(__E1000_RESETTING, &adapter->flags));
5079+
rtnl_lock();
50775080
e1000_down(adapter);
5081+
rtnl_unlock();
50785082
}
50795083

50805084
status = er32(STATUS);
@@ -5235,16 +5239,20 @@ static pci_ers_result_t e1000_io_error_detected(struct pci_dev *pdev,
52355239
struct net_device *netdev = pci_get_drvdata(pdev);
52365240
struct e1000_adapter *adapter = netdev_priv(netdev);
52375241

5242+
rtnl_lock();
52385243
netif_device_detach(netdev);
52395244

5240-
if (state == pci_channel_io_perm_failure)
5245+
if (state == pci_channel_io_perm_failure) {
5246+
rtnl_unlock();
52415247
return PCI_ERS_RESULT_DISCONNECT;
5248+
}
52425249

52435250
if (netif_running(netdev))
52445251
e1000_down(adapter);
52455252

52465253
if (!test_and_set_bit(__E1000_DISABLED, &adapter->flags))
52475254
pci_disable_device(pdev);
5255+
rtnl_unlock();
52485256

52495257
/* Request a slot reset. */
52505258
return PCI_ERS_RESULT_NEED_RESET;

drivers/net/ethernet/intel/ice/ice.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,11 +181,9 @@
181181
#define ice_for_each_chnl_tc(i) \
182182
for ((i) = ICE_CHNL_START_TC; (i) < ICE_CHNL_MAX_TC; (i)++)
183183

184-
#define ICE_UCAST_PROMISC_BITS (ICE_PROMISC_UCAST_TX | ICE_PROMISC_UCAST_RX)
184+
#define ICE_UCAST_PROMISC_BITS ICE_PROMISC_UCAST_RX
185185

186-
#define ICE_UCAST_VLAN_PROMISC_BITS (ICE_PROMISC_UCAST_TX | \
187-
ICE_PROMISC_UCAST_RX | \
188-
ICE_PROMISC_VLAN_TX | \
186+
#define ICE_UCAST_VLAN_PROMISC_BITS (ICE_PROMISC_UCAST_RX | \
189187
ICE_PROMISC_VLAN_RX)
190188

191189
#define ICE_MCAST_PROMISC_BITS (ICE_PROMISC_MCAST_TX | ICE_PROMISC_MCAST_RX)

drivers/net/ethernet/intel/ice/ice_adminq_cmd.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,6 +1492,23 @@ struct ice_aqc_dnl_equa_param {
14921492
#define ICE_AQC_RX_EQU_BFLF (0x13 << ICE_AQC_RX_EQU_SHIFT)
14931493
#define ICE_AQC_RX_EQU_BFHF (0x14 << ICE_AQC_RX_EQU_SHIFT)
14941494
#define ICE_AQC_RX_EQU_DRATE (0x15 << ICE_AQC_RX_EQU_SHIFT)
1495+
#define ICE_AQC_RX_EQU_CTLE_GAINHF (0x20 << ICE_AQC_RX_EQU_SHIFT)
1496+
#define ICE_AQC_RX_EQU_CTLE_GAINLF (0x21 << ICE_AQC_RX_EQU_SHIFT)
1497+
#define ICE_AQC_RX_EQU_CTLE_GAINDC (0x22 << ICE_AQC_RX_EQU_SHIFT)
1498+
#define ICE_AQC_RX_EQU_CTLE_BW (0x23 << ICE_AQC_RX_EQU_SHIFT)
1499+
#define ICE_AQC_RX_EQU_DFE_GAIN (0x30 << ICE_AQC_RX_EQU_SHIFT)
1500+
#define ICE_AQC_RX_EQU_DFE_GAIN2 (0x31 << ICE_AQC_RX_EQU_SHIFT)
1501+
#define ICE_AQC_RX_EQU_DFE_2 (0x32 << ICE_AQC_RX_EQU_SHIFT)
1502+
#define ICE_AQC_RX_EQU_DFE_3 (0x33 << ICE_AQC_RX_EQU_SHIFT)
1503+
#define ICE_AQC_RX_EQU_DFE_4 (0x34 << ICE_AQC_RX_EQU_SHIFT)
1504+
#define ICE_AQC_RX_EQU_DFE_5 (0x35 << ICE_AQC_RX_EQU_SHIFT)
1505+
#define ICE_AQC_RX_EQU_DFE_6 (0x36 << ICE_AQC_RX_EQU_SHIFT)
1506+
#define ICE_AQC_RX_EQU_DFE_7 (0x37 << ICE_AQC_RX_EQU_SHIFT)
1507+
#define ICE_AQC_RX_EQU_DFE_8 (0x38 << ICE_AQC_RX_EQU_SHIFT)
1508+
#define ICE_AQC_RX_EQU_DFE_9 (0x39 << ICE_AQC_RX_EQU_SHIFT)
1509+
#define ICE_AQC_RX_EQU_DFE_10 (0x3A << ICE_AQC_RX_EQU_SHIFT)
1510+
#define ICE_AQC_RX_EQU_DFE_11 (0x3B << ICE_AQC_RX_EQU_SHIFT)
1511+
#define ICE_AQC_RX_EQU_DFE_12 (0x3C << ICE_AQC_RX_EQU_SHIFT)
14951512
#define ICE_AQC_TX_EQU_PRE1 0x0
14961513
#define ICE_AQC_TX_EQU_PRE3 0x3
14971514
#define ICE_AQC_TX_EQU_ATTEN 0x4

drivers/net/ethernet/intel/ice/ice_base.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,8 @@ static int ice_vsi_alloc_q_vector(struct ice_vsi *vsi, u16 v_idx)
156156
* handler here (i.e. resume, reset/rebuild, etc.)
157157
*/
158158
if (vsi->netdev)
159-
netif_napi_add(vsi->netdev, &q_vector->napi, ice_napi_poll);
159+
netif_napi_add_config(vsi->netdev, &q_vector->napi,
160+
ice_napi_poll, v_idx);
160161

161162
out:
162163
/* tie q_vector and VSI together */

0 commit comments

Comments
 (0)