Commit 2ff4ceb0 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files
Tony Nguyen says:

====================
Intel Wired LAN Driver Updates 2024-08-07 (ice)

This series contains updates to ice driver only.

Grzegorz adds IRQ synchronization call before performing reset and
prevents writing to hardware when it is resetting.

Mateusz swaps incorrect assignment of FEC statistics.

* '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
  ice: Fix incorrect assigns of FEC counts
  ice: Skip PTP HW writes during PTP reset procedure
  ice: Fix reset handler
====================

Link: https://patch.msgid.link/20240807224521.3819189-1-anthony.l.nguyen@intel.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 0411f73c c181da18
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -4673,9 +4673,9 @@ static int ice_get_port_fec_stats(struct ice_hw *hw, u16 pcs_quad, u16 pcs_port,
	if (err)
		return err;

	fec_stats->uncorrectable_blocks.total = (fec_corr_high_val << 16) +
	fec_stats->corrected_blocks.total = (fec_corr_high_val << 16) +
					     fec_corr_low_val;
	fec_stats->corrected_blocks.total = (fec_uncorr_high_val << 16) +
	fec_stats->uncorrectable_blocks.total = (fec_uncorr_high_val << 16) +
						 fec_uncorr_low_val;
	return 0;
}
+2 −0
Original line number Diff line number Diff line
@@ -559,6 +559,8 @@ ice_prepare_for_reset(struct ice_pf *pf, enum ice_reset_req reset_type)
	if (test_bit(ICE_PREPARED_FOR_RESET, pf->state))
		return;

	synchronize_irq(pf->oicr_irq.virq);

	ice_unplug_aux_dev(pf);

	/* Notify VFs of impending reset */
+4 −0
Original line number Diff line number Diff line
@@ -1477,6 +1477,10 @@ void ice_ptp_link_change(struct ice_pf *pf, u8 port, bool linkup)
	/* Update cached link status for this port immediately */
	ptp_port->link_up = linkup;

	/* Skip HW writes if reset is in progress */
	if (pf->hw.reset_ongoing)
		return;

	switch (hw->ptp.phy_model) {
	case ICE_PHY_E810:
		/* Do not reconfigure E810 PHY */