Commit e5ba18c6 authored by Oleksij Rempel's avatar Oleksij Rempel Committed by John W. Linville

ath9k_htc: use ath9k_cmn_process_rssi

Signed-off-by: default avatarOleksij Rempel <linux@rempel-privat.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 1f83b049
...@@ -275,7 +275,6 @@ struct ath9k_htc_rxbuf { ...@@ -275,7 +275,6 @@ struct ath9k_htc_rxbuf {
}; };
struct ath9k_htc_rx { struct ath9k_htc_rx {
int last_rssi; /* FIXME: per-STA */
struct list_head rxbuf; struct list_head rxbuf;
spinlock_t rxbuflock; spinlock_t rxbuflock;
}; };
......
...@@ -607,6 +607,7 @@ static void ath9k_init_misc(struct ath9k_htc_priv *priv) ...@@ -607,6 +607,7 @@ static void ath9k_init_misc(struct ath9k_htc_priv *priv)
memcpy(common->bssidmask, ath_bcast_mac, ETH_ALEN); memcpy(common->bssidmask, ath_bcast_mac, ETH_ALEN);
common->last_rssi = ATH_RSSI_DUMMY_MARKER;
priv->ah->opmode = NL80211_IFTYPE_STATION; priv->ah->opmode = NL80211_IFTYPE_STATION;
} }
......
...@@ -1457,6 +1457,7 @@ static void ath9k_htc_bss_iter(void *data, u8 *mac, struct ieee80211_vif *vif) ...@@ -1457,6 +1457,7 @@ static void ath9k_htc_bss_iter(void *data, u8 *mac, struct ieee80211_vif *vif)
if ((vif->type == NL80211_IFTYPE_STATION) && bss_conf->assoc) { if ((vif->type == NL80211_IFTYPE_STATION) && bss_conf->assoc) {
common->curaid = bss_conf->aid; common->curaid = bss_conf->aid;
common->last_rssi = ATH_RSSI_DUMMY_MARKER;
memcpy(common->curbssid, bss_conf->bssid, ETH_ALEN); memcpy(common->curbssid, bss_conf->bssid, ETH_ALEN);
} }
} }
......
...@@ -927,7 +927,6 @@ void ath9k_host_rx_init(struct ath9k_htc_priv *priv) ...@@ -927,7 +927,6 @@ void ath9k_host_rx_init(struct ath9k_htc_priv *priv)
ath9k_hw_rxena(priv->ah); ath9k_hw_rxena(priv->ah);
ath9k_htc_opmode_init(priv); ath9k_htc_opmode_init(priv);
ath9k_hw_startpcureceive(priv->ah, test_bit(OP_SCANNING, &priv->op_flags)); ath9k_hw_startpcureceive(priv->ah, test_bit(OP_SCANNING, &priv->op_flags));
priv->rx.last_rssi = ATH_RSSI_DUMMY_MARKER;
} }
static void ath9k_process_rate(struct ieee80211_hw *hw, static void ath9k_process_rate(struct ieee80211_hw *hw,
...@@ -1011,7 +1010,6 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv, ...@@ -1011,7 +1010,6 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
struct ath_htc_rx_status *rxstatus; struct ath_htc_rx_status *rxstatus;
struct ath_rx_status rx_stats; struct ath_rx_status rx_stats;
int hdrlen, padsize; int hdrlen, padsize;
int last_rssi = ATH_RSSI_DUMMY_MARKER;
__le16 fc; __le16 fc;
if (skb->len < HTC_RX_FRAME_HEADER_SIZE) { if (skb->len < HTC_RX_FRAME_HEADER_SIZE) {
...@@ -1104,24 +1102,9 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv, ...@@ -1104,24 +1102,9 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
ath9k_process_rate(hw, rx_status, rxbuf->rxstatus.rs_rate, ath9k_process_rate(hw, rx_status, rxbuf->rxstatus.rs_rate,
rxbuf->rxstatus.rs_flags); rxbuf->rxstatus.rs_flags);
if (rxbuf->rxstatus.rs_rssi != ATH9K_RSSI_BAD &&
!rxbuf->rxstatus.rs_moreaggr)
ATH_RSSI_LPF(priv->rx.last_rssi,
rxbuf->rxstatus.rs_rssi);
last_rssi = priv->rx.last_rssi; rx_stats.is_mybeacon = ath_is_mybeacon(common, hdr);
ath9k_cmn_process_rssi(common, hw, &rx_stats, rx_status);
if (ath_is_mybeacon(common, hdr)) {
s8 rssi = rxbuf->rxstatus.rs_rssi;
if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER))
rssi = ATH_EP_RND(last_rssi, ATH_RSSI_EP_MULTIPLIER);
if (rssi < 0)
rssi = 0;
priv->ah->stats.avgbrssi = rssi;
}
rx_status->mactime = be64_to_cpu(rxbuf->rxstatus.rs_tstamp); rx_status->mactime = be64_to_cpu(rxbuf->rxstatus.rs_tstamp);
rx_status->band = hw->conf.chandef.chan->band; rx_status->band = hw->conf.chandef.chan->band;
......
...@@ -155,12 +155,8 @@ struct ath_htc_rx_status { ...@@ -155,12 +155,8 @@ struct ath_htc_rx_status {
u8 rs_status; u8 rs_status;
u8 rs_phyerr; u8 rs_phyerr;
int8_t rs_rssi; int8_t rs_rssi;
int8_t rs_rssi_ctl0; int8_t rs_rssi_ctl[3];
int8_t rs_rssi_ctl1; int8_t rs_rssi_ext[3];
int8_t rs_rssi_ctl2;
int8_t rs_rssi_ext0;
int8_t rs_rssi_ext1;
int8_t rs_rssi_ext2;
u8 rs_keyix; u8 rs_keyix;
u8 rs_rate; u8 rs_rate;
u8 rs_antenna; u8 rs_antenna;
...@@ -170,6 +166,7 @@ struct ath_htc_rx_status { ...@@ -170,6 +166,7 @@ struct ath_htc_rx_status {
u8 rs_num_delims; u8 rs_num_delims;
u8 rs_flags; u8 rs_flags;
u8 rs_dummy; u8 rs_dummy;
/* FIXME: evm* never used? */
__be32 evm0; __be32 evm0;
__be32 evm1; __be32 evm1;
__be32 evm2; __be32 evm2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment