diff mbox

[1/1] Add per chain RSSI reporting.

Message ID CAAV6Hgmjq9DDpcUUTZtDwodUjKrkzjnKSNZ+sK8U=M_AQgr-iQ@mail.gmail.com (mailing list archive)
State Not Applicable
Delegated to: Kalle Valo
Headers show

Commit Message

Norik Dzhandzhapanyan June 1, 2017, 7:10 p.m. UTC
Report per chain RSSI

Signed-off-by: Norik Dzhandzhapanyan <norikd@gmail.com>

---
 drivers/net/wireless/ath/ath10k/htt_rx.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Comments

Kalle Valo June 12, 2017, 3:37 p.m. UTC | #1
Norik Dzhandzhapanyan <norikd@gmail.com> wrote:

> 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>

This failed to apply and had quite a few checkpatch warnings. So I recreted the
patch manually:

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=5df110e3a093771f23001be2012ab6fa4d87089b
Kalle Valo June 16, 2017, 6:53 a.m. UTC | #2
Norik Dzhandzhapanyan <norikd@gmail.com> wrote:

> 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>

Patch applied to ath-next branch of ath.git, thanks.

8241253d03fe ath10k: add per chain RSSI reporting
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c
b/drivers/net/wireless/ath/ath10k/htt_rx.c
index 6c0a821fe79d..110953e0bff9 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -829,6 +829,22 @@  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;