]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
ath10k: add per chain RSSI reporting
authorNorik Dzhandzhapanyan <norikd@gmail.com>
Wed, 26 Jul 2017 07:43:39 +0000 (15:43 +0800)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 9 Aug 2017 14:38:29 +0000 (16:38 +0200)
BugLink: http://bugs.launchpad.net/bugs/1706531
Report per chain RSSI to mac80211.

Signed-off-by: Norik Dzhandzhapanyan <norikd@gmail.com>
[kvalo@qca.qualcomm.com: fix conflicts and style]
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
(cherry picked from commit 8241253d03fe9098e98315a4d66027ae31ab65c5)
Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/net/wireless/ath/ath10k/htt_rx.c

index 86d082cf4eef06f607dc8e32f790721f63bf3b77..8c970cc5322ef4e02b3bb94634b4a4a5cdb8a9a7 100644 (file)
@@ -822,6 +822,19 @@ static void ath10k_htt_rx_h_signal(struct ath10k *ar,
                                   struct ieee80211_rx_status *status,
                                   struct htt_rx_desc *rxd)
 {
+       int i;
+
+       for (i = 0; i < IEEE80211_MAX_CHAINS ; i++) {
+               status->chains &= ~BIT(i);
+
+               if (rxd->ppdu_start.rssi_chains[i].pri20_mhz != 0x80) {
+                       status->chain_signal[i] = ATH10K_DEFAULT_NOISE_FLOOR +
+                               rxd->ppdu_start.rssi_chains[i].pri20_mhz;
+
+                       status->chains |= BIT(i);
+               }
+       }
+
        /* FIXME: Get real NF */
        status->signal = ATH10K_DEFAULT_NOISE_FLOOR +
                         rxd->ppdu_start.rssi_comb;