> -----Original Message-----
> From: Korba, Przemyslaw <[email protected]>
> Sent: Monday, May 11, 2026 9:37 AM
> To: [email protected]
> Cc: [email protected]; Nguyen, Anthony L
> <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>; Loktionov, Aleksandr
> <[email protected]>; Kubalewski, Arkadiusz
> <[email protected]>; Korba, Przemyslaw
> <[email protected]>
> Subject: [PATCH iwl-next] ice: add rx timestamp tracepoint for
> debugging
>
> Add ice_rx_hwtstamp trace event to help debug PTP rx timestamp issues.
> The trace captures cached_time, ts_high, and the extended ts_ns value
> in ice_ptp_get_rx_hwts().
>
> Enable with:
> echo 1 > /sys/kernel/debug/tracing/events/ice/ice_rx_hwtstamp/enable
> cat /sys/kernel/debug/tracing/trace_pipe
>
> Signed-off-by: Przemyslaw Korba <[email protected]>
> ---
> drivers/net/ethernet/intel/ice/ice_ptp.c | 2 ++
> drivers/net/ethernet/intel/ice/ice_trace.h | 18 ++++++++++++++++++
> 2 files changed, 20 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c
> b/drivers/net/ethernet/intel/ice/ice_ptp.c
> index 691f05c62d4e..07e621813ff5 100644
> --- a/drivers/net/ethernet/intel/ice/ice_ptp.c
> +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
> @@ -2333,6 +2333,8 @@ u64 ice_ptp_get_rx_hwts(const union
> ice_32b_rx_flex_desc *rx_desc,
> ts_high = le32_to_cpu(rx_desc->wb.flex_ts.ts_high);
> ts_ns = ice_ptp_extend_32b_ts(cached_time, ts_high);
>
> + ice_trace(rx_hwtstamp, cached_time, ts_high, ts_ns);
> +
> return ts_ns;
> }
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_trace.h
> b/drivers/net/ethernet/intel/ice/ice_trace.h
> index 4f35ef8d6b29..3cb8c6ea03cf 100644
> --- a/drivers/net/ethernet/intel/ice/ice_trace.h
> +++ b/drivers/net/ethernet/intel/ice/ice_trace.h
> @@ -241,6 +241,24 @@ DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_fw_req);
> DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_fw_done);
> DEFINE_TX_TSTAMP_OP_EVENT(ice_tx_tstamp_complete);
>
> +/* Trace event for Rx timestamp */
> +TRACE_EVENT(ice_rx_hwtstamp,
> + TP_PROTO(u64 cached_time, u32 ts_high, u64 ts_ns),
> +
> + TP_ARGS(cached_time, ts_high, ts_ns),
> +
> + TP_STRUCT__entry(__field(u64, cached_time)
> + __field(u32, ts_high)
> + __field(u64, ts_ns)),
> +
> + TP_fast_assign(__entry->cached_time = cached_time;
> + __entry->ts_high = ts_high;
> + __entry->ts_ns = ts_ns;),
> +
> + TP_printk("cached_time=%llu ts_high=%u ts_ns=%llu",
> + __entry->cached_time, __entry->ts_high, __entry-
> >ts_ns) );
> +
> DECLARE_EVENT_CLASS(ice_esw_br_fdb_template,
> TP_PROTO(struct ice_esw_br_fdb_entry *fdb),
> TP_ARGS(fdb),
>
> base-commit: 5c0d2ac5900d689d422a31cd45073175150c0a39
> --
> 2.43.0
Reviewed-by: Aleksandr Loktionov <[email protected]>