mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
wifi: iwlwifi: mvm: add an option to use ptp clock for rx timestamp
Add a debugfs option to use the ptp clock time for rx device timestamps. This can be useful to e.g. synchronize multiple NICs or reporting the timestamp in the system clock instead of gp2. Signed-off-by: Avraham Stern <avraham.stern@intel.com> Reviewed-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://msgid.link/20240527190228.b197b4f3f9ed.I578ee916d5f517a2e3a89e890a8ea24065946427@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
a92fd2d932
commit
0e49e940d1
|
|
@ -2441,6 +2441,9 @@ void iwl_mvm_dbgfs_register(struct iwl_mvm *mvm)
|
|||
debugfs_create_file("mem", 0600, mvm->debugfs_dir, mvm,
|
||||
&iwl_dbgfs_mem_ops);
|
||||
|
||||
debugfs_create_bool("rx_ts_ptp", 0600, mvm->debugfs_dir,
|
||||
&mvm->rx_ts_ptp);
|
||||
|
||||
/*
|
||||
* Create a symlink with mac80211. It will be removed when mac80211
|
||||
* exists (before the opmode exists which removes the target.)
|
||||
|
|
|
|||
|
|
@ -1309,6 +1309,9 @@ struct iwl_mvm {
|
|||
struct iwl_phy_specific_cfg phy_filters;
|
||||
#endif
|
||||
|
||||
/* report rx timestamp in ptp clock time */
|
||||
bool rx_ts_ptp;
|
||||
|
||||
unsigned long last_6ghz_passive_scan_jiffies;
|
||||
unsigned long last_reset_or_resume_time_jiffies;
|
||||
|
||||
|
|
|
|||
|
|
@ -1954,6 +1954,14 @@ static void iwl_mvm_rx_fill_status(struct iwl_mvm *mvm,
|
|||
iwl_mvm_decode_lsig(skb, phy_data);
|
||||
|
||||
rx_status->device_timestamp = phy_data->gp2_on_air_rise;
|
||||
|
||||
if (mvm->rx_ts_ptp && mvm->monitor_on) {
|
||||
u64 adj_time =
|
||||
iwl_mvm_ptp_get_adj_time(mvm, phy_data->gp2_on_air_rise * NSEC_PER_USEC);
|
||||
|
||||
rx_status->device_timestamp = div64_u64(adj_time, NSEC_PER_USEC);
|
||||
}
|
||||
|
||||
rx_status->freq = ieee80211_channel_to_frequency(phy_data->channel,
|
||||
rx_status->band);
|
||||
iwl_mvm_get_signal_strength(mvm, rx_status, rate_n_flags,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user