|
@@ -33,15 +33,11 @@
|
|
|
*/
|
|
|
#define DEFAULT_RSSI -128
|
|
|
|
|
|
-/* Constants for EWMA calculations. */
|
|
|
-#define RT2X00_EWMA_FACTOR 1024
|
|
|
-#define RT2X00_EWMA_WEIGHT 8
|
|
|
-
|
|
|
-static inline int rt2x00link_get_avg_rssi(struct ewma *ewma)
|
|
|
+static inline int rt2x00link_get_avg_rssi(struct ewma_rssi *ewma)
|
|
|
{
|
|
|
unsigned long avg;
|
|
|
|
|
|
- avg = ewma_read(ewma);
|
|
|
+ avg = ewma_rssi_read(ewma);
|
|
|
if (avg)
|
|
|
return -avg;
|
|
|
|
|
@@ -76,8 +72,7 @@ static void rt2x00link_antenna_update_rssi_history(struct rt2x00_dev *rt2x00dev,
|
|
|
|
|
|
static void rt2x00link_antenna_reset(struct rt2x00_dev *rt2x00dev)
|
|
|
{
|
|
|
- ewma_init(&rt2x00dev->link.ant.rssi_ant, RT2X00_EWMA_FACTOR,
|
|
|
- RT2X00_EWMA_WEIGHT);
|
|
|
+ ewma_rssi_init(&rt2x00dev->link.ant.rssi_ant);
|
|
|
}
|
|
|
|
|
|
static void rt2x00lib_antenna_diversity_sample(struct rt2x00_dev *rt2x00dev)
|
|
@@ -225,12 +220,12 @@ void rt2x00link_update_stats(struct rt2x00_dev *rt2x00dev,
|
|
|
/*
|
|
|
* Update global RSSI
|
|
|
*/
|
|
|
- ewma_add(&link->avg_rssi, -rxdesc->rssi);
|
|
|
+ ewma_rssi_add(&link->avg_rssi, -rxdesc->rssi);
|
|
|
|
|
|
/*
|
|
|
* Update antenna RSSI
|
|
|
*/
|
|
|
- ewma_add(&ant->rssi_ant, -rxdesc->rssi);
|
|
|
+ ewma_rssi_add(&ant->rssi_ant, -rxdesc->rssi);
|
|
|
}
|
|
|
|
|
|
void rt2x00link_start_tuner(struct rt2x00_dev *rt2x00dev)
|
|
@@ -285,8 +280,7 @@ void rt2x00link_reset_tuner(struct rt2x00_dev *rt2x00dev, bool antenna)
|
|
|
*/
|
|
|
rt2x00dev->link.count = 0;
|
|
|
memset(qual, 0, sizeof(*qual));
|
|
|
- ewma_init(&rt2x00dev->link.avg_rssi, RT2X00_EWMA_FACTOR,
|
|
|
- RT2X00_EWMA_WEIGHT);
|
|
|
+ ewma_rssi_init(&rt2x00dev->link.avg_rssi);
|
|
|
|
|
|
/*
|
|
|
* Restore the VGC level as stored in the registers,
|