• Ben Greear's avatar
    ath10k: configure rxnss_override for QCA9984 · cc914a55
    Ben Greear authored
    QCA9984 hardware can do 4x4 at 80Mhz, but only 2x2 at 160Mhz.
    
    First, report this to user-space by setting the max-tx-speed
    and max-rx-speed vht capabilities.
    
    Second, if the peer rx-speed is configured, and if we
    are in 160 or 80+80 mode, and the peer rx-speed matches
    the max speed for 2x2 or 1x1 at 160Mhz (long guard interval),
    then use that info to set the peer_bw_rxnss_override appropriately.
    
    Without this, a 9984 firmware will not use 2x2 ratesets when
    transmitting to peer (it will be stuck at 1x1), because
    the firmware would not have configured the rxnss_override.
    Signed-off-by: default avatarBen Greear <greearb@candelatech.com>
    [sven.eckelmann@openmesh.com: rebase, cleanup, drop 160Mhz workaround cleanup]
    Signed-off-by: default avatarSven Eckelmann <sven.eckelmann@openmesh.com>
    [kvalo@qca.qualcomm.com: use hw_params, rename the title]
    Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
    cc914a55
mac.c 209 KB