• Jonas Jelonek's avatar
    mac80211: minstrel_ht: support ieee80211_rate_status · 569cf386
    Jonas Jelonek authored
    This patch adds support for the new struct ieee80211_rate_status and its
    annotation in struct ieee80211_tx_status in minstrel_ht.
    
    In minstrel_ht_tx_status, a check for the presence of instances of the
    new struct in ieee80211_tx_status is added. Based on this, minstrel_ht
    then gets and updates internal rate stats with either struct
    ieee80211_rate_status or ieee80211_tx_info->status.rates.
    Adjusted variants of minstrel_ht_txstat_valid, minstrel_ht_get_stats,
    minstrel_{ht/vht}_get_group_idx are added which use struct
    ieee80211_rate_status and struct rate_info instead of the legacy structs.
    
    struct rate_info from cfg80211.h does not provide whether short preamble
    was used for the transmission. So we retrieve this information from VIF
    and STA configuration and cache it in a new flag in struct minstrel_ht_sta
    per rate control instance.
    
    Compile-Tested: current wireless-next tree with all flags on
    Tested-on: Xiaomi 4A Gigabit (MediaTek MT7603E, MT7612E) with OpenWrt
                    Linux 5.10.113
    Signed-off-by: default avatarJonas Jelonek <jelonek.jonas@gmail.com>
    Link: https://lore.kernel.org/r/20220509173958.1398201-3-jelonek.jonas@gmail.comSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    569cf386
rc80211_minstrel_ht.h 5.07 KB