> -----Original Message-----
> From: Grzegorz Nitka <[email protected]>
> Sent: Saturday, September 26, 2026 12:28 AM
> To: [email protected]
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; Kitszel, Przemyslaw
> <[email protected]>; Nguyen, Anthony L
> <[email protected]>; Kubalewski, Arkadiusz
> <[email protected]>; [email protected];
> [email protected]; Nitka, Grzegorz <[email protected]>;
> Temerkhanov, Sergey <[email protected]>; Olech, Milena
> <[email protected]>
> Subject: [PATCH iwl-net 2/2] ice: remove redundant cross-timestamp PTP
> command
> 
> The cross-timestamp capture path programs GLTSYN_CMD with READ_TIME
> before starting the ART/device capture and clears it with NOP
> afterwards.
> 
> It was assumed that this change was needed for E823 devices, which
> turned out to be not true. The hardware supported by this driver does
> not require it.
> 
> Since GLTSYN_CMD is shared with other PTP operations, touching it here
> only adds a potential race source.
> Remove the redundant source command programming instead of adding
> another guard around it.
> 
> Testing hints:
> Verify crosstimestamp path, for example with phc2sys tool, on
> E822/E823/E825/E830 devices. Please note that the phc2sys tool
> performs cross-timestamping by default when supported by the hardware.
> This can be observed when the reported delay is 0, indicating that the
> system time and PHC time were latched simultaneously.
> 
> Fixes: 88c360e49f51 ("ice: Support cross-timestamping for E823
> devices")
> Signed-off-by: Grzegorz Nitka <[email protected]>
> Reviewed-by: Sergey Temerkhanov <[email protected]>
> Reviewed-by: Milena Olech <[email protected]>
> ---
>  drivers/net/ethernet/intel/ice/ice_ptp.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c
> b/drivers/net/ethernet/intel/ice/ice_ptp.c
> index fd97190a89a9..23c0a45050d7 100644
> --- a/drivers/net/ethernet/intel/ice/ice_ptp.c
> +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
> @@ -2229,9 +2229,6 @@ static int ice_capture_crosststamp(ktime_t
> *device,
>       /* Snapshot system time for historic interpolation */
>       ktime_get_snapshot_id(ctx->snapshot_clock_id, &ctx->snapshot);
> 
> -     /* Program cmd to master timer */
> -     ice_ptp_src_cmd(hw, ICE_PTP_READ_TIME);
> -
>       /* Start the ART and device clock sync sequence */
>       ctl = rd32(hw, cfg->ctl_reg);
>       ctl |= cfg->ctl_active;
> @@ -2258,9 +2255,6 @@ static int ice_capture_crosststamp(ktime_t
> *device,
>       *device = ns_to_ktime(ts);
> 
>  err_timeout:
> -     /* Clear the master timer */
> -     ice_ptp_src_cmd(hw, ICE_PTP_NOP);
> -
>       /* Release HW lock */
>       lock = rd32(hw, cfg->lock_reg);
>       lock &= ~cfg->lock_busy;
> --
> 2.39.3

Reviewed-by: Aleksandr Loktionov <[email protected]>

Reply via email to