qcacmn: Compute average rssi
Compute average rssi from last packet rssi CRs-Fixed: 2419240 Change-Id: I20851e3804412808393121ce882245ee8f110d5d
This commit is contained in:
@@ -23,6 +23,15 @@
|
||||
|
||||
#define RX_BUFFER_SIZE_PKTLOG_LITE 1024
|
||||
|
||||
|
||||
#define DP_RSSI_AVG_WEIGHT 2
|
||||
/*
|
||||
* Formula to derive avg_rssi is taken from wifi2.o firmware
|
||||
*/
|
||||
#define DP_GET_AVG_RSSI(avg_rssi, last_rssi) \
|
||||
(((avg_rssi) - (((uint8_t)(avg_rssi)) >> DP_RSSI_AVG_WEIGHT)) \
|
||||
+ ((((uint8_t)(last_rssi)) >> DP_RSSI_AVG_WEIGHT)))
|
||||
|
||||
/* Macro For NYSM value received in VHT TLV */
|
||||
#define VHT_SGI_NYSM 3
|
||||
|
||||
|
@@ -199,6 +199,11 @@ static void dp_rx_stats_update(struct dp_pdev *pdev, struct dp_peer *peer,
|
||||
return;
|
||||
|
||||
DP_STATS_UPD(peer, rx.rssi, ppdu->rssi);
|
||||
if (!peer->stats.rx.avg_rssi)
|
||||
peer->stats.rx.avg_rssi = ppdu->rssi;
|
||||
else
|
||||
peer->stats.rx.avg_rssi =
|
||||
DP_GET_AVG_RSSI(peer->stats.rx.avg_rssi, ppdu->rssi);
|
||||
|
||||
if ((preamble == DOT11_A) || (preamble == DOT11_B))
|
||||
ppdu->u.nss = 1;
|
||||
|
Reference in New Issue
Block a user