Lines Matching refs:sinfo
475 struct station_info sinfo; in sta_info_insert_finish() local
513 memset(&sinfo, 0, sizeof(sinfo)); in sta_info_insert_finish()
514 sinfo.filled = 0; in sta_info_insert_finish()
515 sinfo.generation = local->sta_generation; in sta_info_insert_finish()
516 cfg80211_new_sta(sdata->dev, sta->sta.addr, &sinfo, GFP_KERNEL); in sta_info_insert_finish()
879 struct station_info sinfo = {}; in __sta_info_destroy_part2() local
917 sta_set_sinfo(sta, &sinfo); in __sta_info_destroy_part2()
918 cfg80211_del_sta_sinfo(sdata->dev, sta->sta.addr, &sinfo, GFP_KERNEL); in __sta_info_destroy_part2()
1797 void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo) in sta_set_sinfo() argument
1809 sinfo->generation = sdata->local->sta_generation; in sta_set_sinfo()
1816 sinfo->rx_beacon = sdata->u.mgd.count_beacon_signal; in sta_set_sinfo()
1818 drv_sta_statistics(local, sdata, &sta->sta, sinfo); in sta_set_sinfo()
1820 sinfo->filled |= BIT(NL80211_STA_INFO_INACTIVE_TIME) | in sta_set_sinfo()
1828 sinfo->connected_time = uptime.tv_sec - sta->last_connected; in sta_set_sinfo()
1829 sinfo->inactive_time = jiffies_to_msecs(jiffies - sta->last_rx); in sta_set_sinfo()
1831 if (!(sinfo->filled & (BIT(NL80211_STA_INFO_TX_BYTES64) | in sta_set_sinfo()
1833 sinfo->tx_bytes = 0; in sta_set_sinfo()
1835 sinfo->tx_bytes += sta->tx_bytes[ac]; in sta_set_sinfo()
1836 sinfo->filled |= BIT(NL80211_STA_INFO_TX_BYTES64); in sta_set_sinfo()
1839 if (!(sinfo->filled & BIT(NL80211_STA_INFO_TX_PACKETS))) { in sta_set_sinfo()
1840 sinfo->tx_packets = 0; in sta_set_sinfo()
1842 sinfo->tx_packets += sta->tx_packets[ac]; in sta_set_sinfo()
1843 sinfo->filled |= BIT(NL80211_STA_INFO_TX_PACKETS); in sta_set_sinfo()
1846 if (!(sinfo->filled & (BIT(NL80211_STA_INFO_RX_BYTES64) | in sta_set_sinfo()
1848 sinfo->rx_bytes = sta->rx_bytes; in sta_set_sinfo()
1849 sinfo->filled |= BIT(NL80211_STA_INFO_RX_BYTES64); in sta_set_sinfo()
1852 if (!(sinfo->filled & BIT(NL80211_STA_INFO_RX_PACKETS))) { in sta_set_sinfo()
1853 sinfo->rx_packets = sta->rx_packets; in sta_set_sinfo()
1854 sinfo->filled |= BIT(NL80211_STA_INFO_RX_PACKETS); in sta_set_sinfo()
1857 if (!(sinfo->filled & BIT(NL80211_STA_INFO_TX_RETRIES))) { in sta_set_sinfo()
1858 sinfo->tx_retries = sta->tx_retry_count; in sta_set_sinfo()
1859 sinfo->filled |= BIT(NL80211_STA_INFO_TX_RETRIES); in sta_set_sinfo()
1862 if (!(sinfo->filled & BIT(NL80211_STA_INFO_TX_FAILED))) { in sta_set_sinfo()
1863 sinfo->tx_failed = sta->tx_retry_failed; in sta_set_sinfo()
1864 sinfo->filled |= BIT(NL80211_STA_INFO_TX_FAILED); in sta_set_sinfo()
1867 sinfo->rx_dropped_misc = sta->rx_dropped; in sta_set_sinfo()
1868 sinfo->beacon_loss_count = sta->beacon_loss_count; in sta_set_sinfo()
1872 sinfo->filled |= BIT(NL80211_STA_INFO_BEACON_RX) | in sta_set_sinfo()
1874 sinfo->rx_beacon_signal_avg = ieee80211_ave_rssi(&sdata->vif); in sta_set_sinfo()
1879 if (!(sinfo->filled & BIT(NL80211_STA_INFO_SIGNAL))) { in sta_set_sinfo()
1880 sinfo->signal = (s8)sta->last_signal; in sta_set_sinfo()
1881 sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL); in sta_set_sinfo()
1884 if (!(sinfo->filled & BIT(NL80211_STA_INFO_SIGNAL_AVG))) { in sta_set_sinfo()
1885 sinfo->signal_avg = (s8) -ewma_read(&sta->avg_signal); in sta_set_sinfo()
1886 sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL_AVG); in sta_set_sinfo()
1891 !(sinfo->filled & (BIT(NL80211_STA_INFO_CHAIN_SIGNAL) | in sta_set_sinfo()
1893 sinfo->filled |= BIT(NL80211_STA_INFO_CHAIN_SIGNAL) | in sta_set_sinfo()
1896 sinfo->chains = sta->chains; in sta_set_sinfo()
1897 for (i = 0; i < ARRAY_SIZE(sinfo->chain_signal); i++) { in sta_set_sinfo()
1898 sinfo->chain_signal[i] = sta->chain_signal_last[i]; in sta_set_sinfo()
1899 sinfo->chain_signal_avg[i] = in sta_set_sinfo()
1904 if (!(sinfo->filled & BIT(NL80211_STA_INFO_TX_BITRATE))) { in sta_set_sinfo()
1905 sta_set_rate_info_tx(sta, &sta->last_tx_rate, &sinfo->txrate); in sta_set_sinfo()
1906 sinfo->filled |= BIT(NL80211_STA_INFO_TX_BITRATE); in sta_set_sinfo()
1909 if (!(sinfo->filled & BIT(NL80211_STA_INFO_RX_BITRATE))) { in sta_set_sinfo()
1910 sta_set_rate_info_rx(sta, &sinfo->rxrate); in sta_set_sinfo()
1911 sinfo->filled |= BIT(NL80211_STA_INFO_RX_BITRATE); in sta_set_sinfo()
1914 sinfo->filled |= BIT(NL80211_STA_INFO_TID_STATS); in sta_set_sinfo()
1916 struct cfg80211_tid_stats *tidstats = &sinfo->pertid[i]; in sta_set_sinfo()
1947 sinfo->filled |= BIT(NL80211_STA_INFO_LLID) | in sta_set_sinfo()
1954 sinfo->llid = sta->llid; in sta_set_sinfo()
1955 sinfo->plid = sta->plid; in sta_set_sinfo()
1956 sinfo->plink_state = sta->plink_state; in sta_set_sinfo()
1958 sinfo->filled |= BIT(NL80211_STA_INFO_T_OFFSET); in sta_set_sinfo()
1959 sinfo->t_offset = sta->t_offset; in sta_set_sinfo()
1961 sinfo->local_pm = sta->local_pm; in sta_set_sinfo()
1962 sinfo->peer_pm = sta->peer_pm; in sta_set_sinfo()
1963 sinfo->nonpeer_pm = sta->nonpeer_pm; in sta_set_sinfo()
1967 sinfo->bss_param.flags = 0; in sta_set_sinfo()
1969 sinfo->bss_param.flags |= BSS_PARAM_FLAGS_CTS_PROT; in sta_set_sinfo()
1971 sinfo->bss_param.flags |= BSS_PARAM_FLAGS_SHORT_PREAMBLE; in sta_set_sinfo()
1973 sinfo->bss_param.flags |= BSS_PARAM_FLAGS_SHORT_SLOT_TIME; in sta_set_sinfo()
1974 sinfo->bss_param.dtim_period = sdata->vif.bss_conf.dtim_period; in sta_set_sinfo()
1975 sinfo->bss_param.beacon_interval = sdata->vif.bss_conf.beacon_int; in sta_set_sinfo()
1977 sinfo->sta_flags.set = 0; in sta_set_sinfo()
1978 sinfo->sta_flags.mask = BIT(NL80211_STA_FLAG_AUTHORIZED) | in sta_set_sinfo()
1986 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_AUTHORIZED); in sta_set_sinfo()
1988 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_SHORT_PREAMBLE); in sta_set_sinfo()
1990 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_WME); in sta_set_sinfo()
1992 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_MFP); in sta_set_sinfo()
1994 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_AUTHENTICATED); in sta_set_sinfo()
1996 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_ASSOCIATED); in sta_set_sinfo()
1998 sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_TDLS_PEER); in sta_set_sinfo()
2007 sinfo->filled |= BIT(NL80211_STA_INFO_EXPECTED_THROUGHPUT); in sta_set_sinfo()
2008 sinfo->expected_throughput = thr; in sta_set_sinfo()