> -----Original Message----- > From: Jacob Keller <[email protected]> > Sent: Friday, September 25, 2026 4:57 PM > To: Intel Wired LAN <[email protected]>; Machnikowski, Maciej > <[email protected]>; Keller, Jacob E <[email protected]>; > Korba, Przemyslaw <[email protected]>; Nguyen, Anthony L > <[email protected]>; Nitka, Grzegorz <[email protected]>; > Kubalewski, Arkadiusz <[email protected]> > Cc: Keller, Jacob E <[email protected]>; Oros, Petr > <[email protected]>; Machnikowski, Maciej <[email protected]> > Subject: [PATCH iwl-net v3 11/15] ice: wait for in-flight Tx timestamps > before flushing the tracker > > From: Petr Oros <[email protected]> > > ice_ptp_flush_tx_tracker() frees every tracked request, but a request whose > timestamp is still being captured by the PHY at that moment is freed without > touching the PHY entry. The ready bit published shortly after has no tracked > owner, and the PHY does not raise another Tx timestamp interrupt until every > outstanding ready bit is read, so delivery for the whole quad degrades to the > periodic work. > > Wait up to 10 ms (per port) for in-flight captures to publish their ready > bits before flushing, so the flush clears them together with the rest. > > Note that the ice_ptp_flush_tx_tracker() function was introduced along with > the original E810 support, but that device does not have a ready bitmap. > Only later devices (E822, E825, E830) have the bitmap and potential issues > with internal tracking. Thus, skip the wait for E810 by checking the > tx->has_ready_bitmap flag. > > Fixes: 10e4b4a3a3e1 ("ice: check Tx timestamp memory register for ready > timestamps") > Signed-off-by: Petr Oros <[email protected]> > Reviewed-by: Maciek Machnikowski <[email protected]> > Signed-off-by: Jacob Keller <[email protected]> > --- > drivers/net/ethernet/intel/ice/ice_ptp.c | 64 > ++++++++++++++++++++++++++++++++ > 1 file changed, 64 insertions(+)
Tested-by: Alexander Nowlin <[email protected]>
