ath10k: add per chain RSSI reporting
authorNorik Dzhandzhapanyan <norikd@gmail.com>
Mon, 12 Jun 2017 15:03:34 +0000 (18:03 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Fri, 16 Jun 2017 06:52:30 +0000 (09:52 +0300)
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>
drivers/net/wireless/ath/ath10k/htt_rx.c

index 6c0a821..398dda9 100644 (file)
@@ -829,6 +829,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;