/linux/drivers/net/wireless/ath/ath9k/ |
H A D | common-beacon.c | 22 static u32 ath9k_get_next_tbtt(struct ath_hw *ah, u64 tsf, in ath9k_get_next_tbtt() argument 27 tsf += TU_TO_USEC(FUDGE + ah->config.sw_beacon_response_time); in ath9k_get_next_tbtt() 29 div_u64_rem(tsf, divisor, &offset); in ath9k_get_next_tbtt() 31 return (u32) tsf + divisor - offset; in ath9k_get_next_tbtt() 36 * received beacon and the current TSF, configures PCF and DTIM 48 u64 tsf; in ath9k_cmn_beacon_config_sta() local 68 * TSF and calculate dtim state for the result. in ath9k_cmn_beacon_config_sta() 70 tsf = ath9k_hw_gettsf64(ah); in ath9k_cmn_beacon_config_sta() 71 conf->nexttbtt = ath9k_get_next_tbtt(ah, tsf, conf->intval); in ath9k_cmn_beacon_config_sta() 78 bs->bs_nextdtim = ath9k_get_next_tbtt(ah, tsf, dtim_intval); in ath9k_cmn_beacon_config_sta() [all …]
|
H A D | channel.c | 351 /* Adjust the TSF time of the AP chanctx to keep its beacons in ath_chanctx_adjust_tbtt_delta() 364 /* Configure the TSF based hardware timer for a channel switch. 684 /* TSF time might have been updated by the incoming beacon, in ath_chanctx_event() 1425 u32 tsf, target_tsf; in ath9k_update_p2p_ps_timer() local 1432 tsf = ath9k_hw_gettsf32(sc->sc_ah); in ath9k_update_p2p_ps_timer() 1440 if (target_tsf - tsf < ATH_P2P_PS_STOP_TIME) in ath9k_update_p2p_ps_timer() 1441 target_tsf = tsf + ATH_P2P_PS_STOP_TIME; in ath9k_update_p2p_ps_timer() 1443 ath_dbg(common, CHAN_CTX, "%s absent %d tsf 0x%08X next_tsf 0x%08X (%dms)\n", in ath9k_update_p2p_ps_timer() 1444 __func__, avp->noa.absent, tsf, target_tsf, in ath9k_update_p2p_ps_timer() 1445 (target_tsf - tsf) / 1000); in ath9k_update_p2p_ps_timer() [all …]
|
H A D | common-spectral.c | 129 u8 *sample_buf, u64 tsf, u16 freq, int chan_type); 135 u64 tsf, u16 freq, int chan_type) in ath_cmn_process_ht20_fft() argument 170 fft_sample_20.tsf = __cpu_to_be64(tsf); in ath_cmn_process_ht20_fft() 239 u64 tsf, u16 freq, int chan_type) in ath_cmn_process_ht20_40_fft() argument 309 fft_sample_40.tsf = __cpu_to_be64(tsf); in ath_cmn_process_ht20_40_fft() 470 struct ath_rx_status *rs, u64 tsf) in ath_cmn_process_fft() argument 625 tsf, freq, chan_type); in ath_cmn_process_fft() 643 tsf, freq, chan_type); in ath_cmn_process_fft()
|
H A D | common-spectral.h | 181 struct ath_rx_status *rs, u64 tsf); 199 struct ath_rx_status *rs, u64 tsf) in ath_cmn_process_fft() argument
|
/linux/drivers/net/wireless/ath/ath5k/ |
H A D | pcu.c | 46 * - Maintaining TSF 50 * - Updating beacon data (with TSF etc) 556 * ath5k_hw_get_tsf64() - Get the full 64bit TSF 559 * Returns the current TSF 572 * While reading TSF upper and then lower part, the clock is still in ath5k_hw_get_tsf64() 602 * ath5k_hw_set_tsf64() - Set a new 64bit TSF 604 * @tsf64: The new 64bit TSF 606 * Sets the new TSF 616 * ath5k_hw_reset_tsf() - Force a TSF reset 619 * Forces a TSF reset on PCU [all …]
|
H A D | base.c | 202 u64 tsf = ath5k_hw_get_tsf64(ah); in ath5k_extend_tsf() local 204 if ((tsf & 0x7fff) < rstamp) in ath5k_extend_tsf() 205 tsf -= 0x8000; in ath5k_extend_tsf() 207 return (tsf & ~0x7fff) | rstamp; in ath5k_extend_tsf() 1288 u64 tsf, bc_tstamp; in ath5k_check_ibss_tsf() local 1295 * have updated the local TSF. We have to work around various in ath5k_check_ibss_tsf() 1298 tsf = ath5k_hw_get_tsf64(ah); in ath5k_check_ibss_tsf() 1300 hw_tu = TSF_TO_TU(tsf); in ath5k_check_ibss_tsf() 1303 "beacon %llx mactime %llx (diff %lld) tsf now %llx\n", in ath5k_check_ibss_tsf() 1307 (unsigned long long)tsf); in ath5k_check_ibss_tsf() [all …]
|
/linux/drivers/net/wireless/ath/ |
H A D | spectral_common.h | 62 __be64 tsf; member 76 __be64 tsf; member 104 __be64 tsf; member 123 __be32 tsf; member
|
/linux/net/mac80211/ |
H A D | debugfs_netdev.c | 657 u64 tsf; in ieee80211_if_fmt_tsf() 659 tsf = drv_get_tsf(local, (struct ieee80211_sub_if_data *)sdata); in ieee80211_if_fmt_tsf() local 661 return scnprintf(buf, buflen, "0x%016llx\n", (unsigned long long) tsf); in ieee80211_if_fmt_tsf() 668 unsigned long long tsf; in ieee80211_if_parse_tsf() 675 wiphy_info(local->hw.wiphy, "debugfs reset TSF\n"); in ieee80211_if_parse_tsf() 687 ret = kstrtoull(buf, 10, &tsf); in ieee80211_if_parse_tsf() 691 drv_offset_tsf(local, sdata, tsf_is_delta * tsf); in ieee80211_if_parse_tsf() 693 "debugfs offset TSF by %018lld\n", in ieee80211_if_parse_tsf() 694 tsf_is_delta * tsf); in ieee80211_if_parse_tsf() 697 tsf in ieee80211_if_parse_tsf() 670 unsigned long long tsf; ieee80211_if_parse_tsf() local [all...] |
H A D | ibss.c | 40 const u16 capability, u64 tsf, in ieee80211_ibss_build_presp() argument 82 mgmt->u.beacon.timestamp = cpu_to_le64(tsf); in ieee80211_ibss_build_presp() 215 const u16 capability, u64 tsf, in __ieee80211_sta_join_ibss() argument 233 /* Reset own TSF to allow time synchronization work. */ in __ieee80211_sta_join_ibss() 308 capability, tsf, &chanreq.oper, in __ieee80211_sta_join_ibss() 394 u64 tsf; in ieee80211_sta_join_ibss() local 449 tsf = ies->tsf; in ieee80211_sta_join_ibss() 457 tsf, false); in ieee80211_sta_join_ibss() 469 u64 tsf; in ieee80211_ibss_csa_beacon() local 486 tsf = ies->tsf; in ieee80211_ibss_csa_beacon() [all …]
|
H A D | util.c | 3364 * the timestamp to TSF at beginning of MPDU reception. in ieee80211_calculate_rx_timestamp() 3796 ieee80211_extend_noa_desc(struct ieee80211_noa_data *data, u32 tsf, int i) in ieee80211_extend_noa_desc() 3798 s32 end = data->desc[i].start + data->desc[i].duration - (tsf + 1); in ieee80211_extend_noa_desc() 3828 ieee80211_extend_absent_time(struct ieee80211_noa_data *data, u32 tsf, 3840 if (ieee80211_extend_noa_desc(data, tsf + *offset, i)) in ieee80211_get_noa_absent_time() 3843 cur = data->desc[i].start - tsf; in ieee80211_get_noa_absent_time() 3847 cur = data->desc[i].start + data->desc[i].duration - tsf; in ieee80211_get_noa_absent_time() 3856 ieee80211_get_noa_absent_time(struct ieee80211_noa_data *data, u32 tsf) in ieee80211_update_p2p_noa() 3866 ieee80211_extend_absent_time(data, tsf, &offset); in ieee80211_update_p2p_noa() 3868 if (!ieee80211_extend_absent_time(data, tsf, in ieee80211_update_p2p_noa() 3770 ieee80211_extend_noa_desc(struct ieee80211_noa_data * data,u32 tsf,int i) ieee80211_extend_noa_desc() argument 3802 ieee80211_extend_absent_time(struct ieee80211_noa_data * data,u32 tsf,s32 * offset) ieee80211_extend_absent_time() argument 3830 ieee80211_get_noa_absent_time(struct ieee80211_noa_data * data,u32 tsf) ieee80211_get_noa_absent_time() argument 3851 ieee80211_update_p2p_noa(struct ieee80211_noa_data * data,u32 tsf) ieee80211_update_p2p_noa() argument 3883 ieee80211_parse_p2p_noa(const struct ieee80211_p2p_noa_attr * attr,struct ieee80211_noa_data * data,u32 tsf) ieee80211_parse_p2p_noa() argument 3916 ieee80211_recalc_dtim(struct ieee80211_sub_if_data * sdata,u64 tsf) ieee80211_recalc_dtim() argument 3961 ieee80211_recalc_sb_count(struct ieee80211_sub_if_data * sdata,u64 tsf) ieee80211_recalc_sb_count() argument [all...] |
/linux/drivers/net/wireless/ath/ath10k/ |
H A D | spectral.h | 41 size_t bin_len, u64 tsf); 53 size_t bin_len, u64 tsf) in ath10k_spectral_process_fft() argument
|
/linux/drivers/net/wireless/mediatek/mt76/mt7615/ |
H A D | main.c | 904 } tsf; in mt7615_get_tsf() local 913 /* TSF read */ in mt7615_get_tsf() 915 tsf.t32[0] = mt76_rr(dev, MT_LPON_UTTR0); in mt7615_get_tsf() 916 tsf.t32[1] = mt76_rr(dev, MT_LPON_UTTR1); in mt7615_get_tsf() 920 return tsf.t64; in mt7615_get_tsf() 932 } tsf = { .t64 = timestamp, }; in mt7615_set_tsf() local 941 mt76_wr(dev, MT_LPON_UTTR0, tsf.t32[0]); in mt7615_set_tsf() 942 mt76_wr(dev, MT_LPON_UTTR1, tsf.t32[1]); in mt7615_set_tsf() 943 /* TSF software overwrite */ in mt7615_set_tsf() 958 } tsf = { .t64 = timestamp, }; in mt7615_offset_tsf() local [all …]
|
/linux/drivers/net/wireless/intel/iwlwifi/fw/api/ |
H A D | rx.h | 33 * @timestamp: TSF at on air rise 278 /* TSF overload low dword */ 295 /* TSF overload low dword */ 332 /* TSF overload high dword */ 335 * check this first - if TSF overload is set, 344 /* TSF overload high dword For HE rates*/ 361 /* TSF overload high dword For EHT-MU/TB rates*/ 517 * TSF value on air rise (INA), only valid if 614 * TSF value on air rise (INA), only valid if
|
H A D | tx.h | 30 * @TX_CMD_FLG_TSF: FW should calculate and insert TSF in the frame 838 __le64 tsf; member 845 * @tsf: last beacon tsf 851 __le64 tsf; member 859 * @tsf: last beacon tsf 865 __le64 tsf; member
|
H A D | scan.h | 411 * @tsf_low: TSF timer (lower half) in usecs 412 * @tsf_high: TSF timer (higher half) in usecs 835 * @scan_start_mac_id: report the scan start TSF time according to this mac TSF 1030 * @scan_start_mac_or_link_id: report the scan start TSF time according to this 1031 * mac (up to verion 11) or link (starting with version 12) TSF 1276 * @start_tsf: TSF timer in usecs of the scan start time for the mac specified
|
/linux/drivers/staging/rtl8723bs/include/ |
H A D | hal_pwr_seq.h | 154 …PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT4, 0}, /*. 0x08[4] = 0 switch TSF to 40M*/\ 155 …PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT7, 0}, /*Polling 0x109[7]= 0 TSF in 40M*/\ 175 …R_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT5, BIT5},/*reset dual TSF*/ \ 184 …FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT4, BIT4},/*switch TSF to 32K*/\ 185 …AB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT7, BIT7},/*polling TSF stable*/\ 193 …WR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT4, 0},/*switch TSF to 32K*/\ 194 …R_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT7, 0},/*polling TSF stable*/\
|
/linux/drivers/net/wireless/broadcom/b43legacy/ |
H A D | main.h | 87 void b43legacy_tsf_read(struct b43legacy_wldev *dev, u64 *tsf); 88 void b43legacy_tsf_write(struct b43legacy_wldev *dev, u64 tsf);
|
H A D | main.c | 388 void b43legacy_tsf_read(struct b43legacy_wldev *dev, u64 *tsf) in b43legacy_tsf_read() argument 390 /* We need to be careful. As we read the TSF from multiple in b43legacy_tsf_read() 392 * In theory, the whole tsf read process should be atomic. in b43legacy_tsf_read() 410 *tsf = high; in b43legacy_tsf_read() 411 *tsf <<= 32; in b43legacy_tsf_read() 412 *tsf |= low; in b43legacy_tsf_read() 434 *tsf = v3; in b43legacy_tsf_read() 435 *tsf <<= 48; in b43legacy_tsf_read() 438 *tsf |= tmp; in b43legacy_tsf_read() 441 *tsf |= tmp; in b43legacy_tsf_read() [all …]
|
/linux/drivers/net/wireless/broadcom/b43/ |
H A D | main.h | 63 void b43_tsf_read(struct b43_wldev *dev, u64 * tsf); 64 void b43_tsf_write(struct b43_wldev *dev, u64 tsf);
|
/linux/net/wireless/tests/ |
H A D | scan.c | 347 u64 tsf = 0x1000000000000000ULL; in test_inform_bss_ssid_only() local 364 CFG80211_BSS_FTYPE_PRESP, bssid, tsf, in test_inform_bss_ssid_only() 383 KUNIT_EXPECT_EQ(test, ies->tsf, tsf); in test_inform_bss_ssid_only() 455 u64 tsf = 0x1000000000000000ULL; in KUNIT_ARRAY_PARAM_DESC() local 609 CFG80211_BSS_FTYPE_PRESP, bssid, tsf, in KUNIT_ARRAY_PARAM_DESC() 650 KUNIT_EXPECT_EQ(test, ies->tsf, tsf + le64_to_cpu(sta_prof.tsf_offset)); in KUNIT_ARRAY_PARAM_DESC()
|
/linux/drivers/net/wireless/mediatek/mt76/mt7915/ |
H A D | main.c | 1010 } tsf; in __mt7915_get_tsf() local 1017 /* TSF software read */ in __mt7915_get_tsf() 1024 tsf.t32[0] = mt76_rr(dev, MT_LPON_UTTR0(band)); in __mt7915_get_tsf() 1025 tsf.t32[1] = mt76_rr(dev, MT_LPON_UTTR1(band)); in __mt7915_get_tsf() 1027 return tsf.t64; in __mt7915_get_tsf() 1055 } tsf = { .t64 = timestamp, }; in mt7915_set_tsf() local 1062 mt76_wr(dev, MT_LPON_UTTR0(band), tsf.t32[0]); in mt7915_set_tsf() 1063 mt76_wr(dev, MT_LPON_UTTR1(band), tsf.t32[1]); in mt7915_set_tsf() 1064 /* TSF software overwrite */ in mt7915_set_tsf() 1086 } tsf = { .t64 = timestamp, }; in mt7915_offset_tsf() local [all …]
|
/linux/drivers/net/wireless/ti/wl1251/ |
H A D | rx.c | 46 * The rx status timestamp is a 32 bits value while the TSF is a in wl1251_rx_status() 48 * For IBSS merging, TSF is mandatory, so we have to get it in wl1251_rx_status()
|
/linux/drivers/net/wireless/mediatek/mt76/mt7996/ |
H A D | main.c | 1492 } tsf; in __mt7996_get_tsf() local 1502 /* TSF software read */ in __mt7996_get_tsf() 1505 tsf.t32[0] = mt76_rr(dev, MT_LPON_UTTR0(phy->mt76->band_idx)); in __mt7996_get_tsf() 1506 tsf.t32[1] = mt76_rr(dev, MT_LPON_UTTR1(phy->mt76->band_idx)); in __mt7996_get_tsf() 1508 return tsf.t64; in __mt7996_get_tsf() 1536 } tsf = { .t64 = timestamp, }; in mt7996_set_tsf() local 1551 mt76_wr(dev, MT_LPON_UTTR0(phy->mt76->band_idx), tsf.t32[0]); in mt7996_set_tsf() 1552 mt76_wr(dev, MT_LPON_UTTR1(phy->mt76->band_idx), tsf.t32[1]); in mt7996_set_tsf() 1553 /* TSF software overwrite */ in mt7996_set_tsf() 1572 } tsf = { .t64 = timestamp, }; in mt7996_offset_tsf() local [all …]
|
/linux/drivers/net/wireless/marvell/mwifiex/ |
H A D | join.c | 76 * Append TSF tracking info from the scan table for the target AP. 80 * The TSF table TSF sent to the firmware contains two TSF values: 81 * - The TSF of the target AP from its previous beacon/probe response 82 * - The TSF timestamp of our local MAC at the time we observed the 85 * The firmware uses the timestamp values to set an initial TSF value 109 /* TSF at the time when beacon/probe_response was received */ in mwifiex_cmd_append_tsf_tlv() 117 "info: %s: TSF offset calc: %016llx - %016llx\n", in mwifiex_cmd_append_tsf_tlv() 369 * - TSF TLV
|
/linux/drivers/net/wireless/ath/carl9170/ |
H A D | fwcmd.h | 300 __le32 tsf[2]; member 327 struct carl9170_tsf_rsp tsf; member
|