提交 9c05babd 编写于 作者: O Oleksij Rempel 提交者: Kalle Valo

ath9k: use one shot read in ath9k_hw_update_mibstats

this will reduce some overhead on usb bus.
Signed-off-by: NOleksij Rempel <linux@rempel-privat.de>
Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
上级 03822782
...@@ -107,11 +107,21 @@ static const struct ani_cck_level_entry cck_level_table[] = { ...@@ -107,11 +107,21 @@ static const struct ani_cck_level_entry cck_level_table[] = {
static void ath9k_hw_update_mibstats(struct ath_hw *ah, static void ath9k_hw_update_mibstats(struct ath_hw *ah,
struct ath9k_mib_stats *stats) struct ath9k_mib_stats *stats)
{ {
stats->ackrcv_bad += REG_READ(ah, AR_ACK_FAIL); u32 addr[5] = {AR_RTS_OK, AR_RTS_FAIL, AR_ACK_FAIL,
stats->rts_bad += REG_READ(ah, AR_RTS_FAIL); AR_FCS_FAIL, AR_BEACON_CNT};
stats->fcs_bad += REG_READ(ah, AR_FCS_FAIL); u32 data[5];
stats->rts_good += REG_READ(ah, AR_RTS_OK);
stats->beacons += REG_READ(ah, AR_BEACON_CNT); REG_READ_MULTI(ah, &addr[0], &data[0], 5);
/* AR_RTS_OK */
stats->rts_good += data[0];
/* AR_RTS_FAIL */
stats->rts_bad += data[1];
/* AR_ACK_FAIL */
stats->ackrcv_bad += data[2];
/* AR_FCS_FAIL */
stats->fcs_bad += data[3];
/* AR_BEACON_CNT */
stats->beacons += data[4];
} }
static void ath9k_ani_restart(struct ath_hw *ah) static void ath9k_ani_restart(struct ath_hw *ah)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册