• Wen Gong's avatar
    ath10k: add bitrate parse for peer stats info · 3344b99d
    Wen Gong authored
    The rate code and rate kbps report by WMI_TLV_PEER_STATS_INFO_EVENTID
    from firmware contains all the bitrate info which include OFDM, CCK,
    HT/VHT, and mac80211 need the struct rate_info which include below
    parameters:
    
    flags: bitflag of flags from &enum rate_info_flags
    mcs: mcs index if struct describes an HT/VHT/HE rate
    legacy: bitrate in 100kbit/s for 802.11abg
    nss: number of streams (VHT & HE only)
    bw: bandwidth (from &enum rate_info_bw)
    
    For OFDM/CCK, its rate kbps indicate the bitrate, for HT/VHT, mac80211
    need the above 5 parameters to cacluate the bitrate and show by iw.
    
    After parse the bitrate info, iw show the correct rx bitrate:
    
    localhost ~ # iw wlan0 link
    	rx bitrate: 234.0 MBit/s VHT-MCS 3 80MHz VHT-NSS 2
    	rx bitrate: 40.5 MBit/s MCS 2 40MHz
    	rx bitrate: 72.2 MBit/s MCS 7 short GI
    	rx bitrate: 54.0 MBit/s
    	rx bitrate: 48.0 MBit/s
    
    Tested with QCA6174 SDIO with firmware WLAN.RMH.4.4.1-00042.
    Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20200427080416.8265-4-wgong@codeaurora.org
    3344b99d
mac.c 240 KB