On Fri, Nov 03, 2023 at 04:46:57PM -0700, Jacob Keller wrote: > Commit d938a8cca88a ("ice: Auxbus devices & driver for E822 TS") modified > how Tx timestamps are handled for E822 devices. On these devices, only the > clock owner handles reading the Tx timestamp data from firmware. To do > this, the PFINT_TSYN_MSK register is modified from the default value to one > which enables reacting to a Tx timestamp on all PHY ports. > > The driver currently programs PFINT_TSYN_MSK in different places depending > on whether the port is the clock owner or not. For the clock owner, the > PFINT_TSYN_MSK value is programmed during ice_ptp_init_owner just before > calling ice_ptp_tx_ena_intr to program the PHY ports. > > For the non-clock owner ports, the PFINT_TSYN_MSK is programmed during > ice_ptp_init_port. > > If a large enough device reset occurs, the PFINT_TSYN_MSK register will be > reset to the default value in which only the PHY associated directly with > the PF will cause the Tx timestamp interrupt to trigger. > > The driver lacks logic to reprogram the PFINT_TSYN_MSK register after a > device reset. For the E822 device, this results in the PF no longer > responding to interrupts for other ports. This results in failure to > deliver Tx timestamps to user space applications. > > Rename ice_ptp_configure_tx_tstamp to ice_ptp_cfg_tx_interrupt, and unify > the logic for programming PFINT_TSYN_MSK and PFINT_OICR_ENA into one place. > This function will program both registers according to the combination of > user configuration and device requirements. > > This ensures that PFINT_TSYN_MSK is always restored when we configure the > Tx timestamp interrupt. > > Fixes: d938a8cca88a ("ice: Auxbus devices & driver for E822 TS") > Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com> > Reviewed-by: Jesse Brandeburg <jesse.brandeb...@intel.com>
Reviewed-by: Simon Horman <ho...@kernel.org> _______________________________________________ Intel-wired-lan mailing list Intel-wired-lan@osuosl.org https://lists.osuosl.org/mailman/listinfo/intel-wired-lan