ath5k: add capability flag for phyerror counters
authorBruno Randolf <br1@einfach.org>
Thu, 25 Mar 2010 05:49:47 +0000 (14:49 +0900)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 31 Mar 2010 18:39:10 +0000 (14:39 -0400)
Chipsets since revision AR5213A (0x59) have hardware counters for PHY errors
which we can read directly from the registers. Older hardware has to use the RX
descriptor status to get a count of PHY errors. This will be used in several
places in the ANI implementation, so a flag is useful.

Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath5k/ath5k.h
drivers/net/wireless/ath/ath5k/caps.c

index ec626905655bcda35d2d668408382fabc7fc34f7..f578c1ed7f881e5ba64aaf08fb2ceebda0b57c99 100644 (file)
@@ -982,6 +982,8 @@ struct ath5k_capabilities {
        struct {
                u8      q_tx_num;
        } cap_queues;
+
+       bool cap_has_phyerr_counters;
 };
 
 /* size of noise floor history (keep it a power of two) */
index e618e71b1ce6223150185e720c2cd7e503d83e7f..74f007126f4100ce549e28b1569a43b5463eb42a 100644 (file)
@@ -109,6 +109,12 @@ int ath5k_hw_set_capabilities(struct ath5k_hw *ah)
        else
                ah->ah_capabilities.cap_queues.q_tx_num = AR5K_NUM_TX_QUEUES;
 
+       /* newer hardware has PHY error counters */
+       if (ah->ah_mac_srev >= AR5K_SREV_AR5213A)
+               ah->ah_capabilities.cap_has_phyerr_counters = true;
+       else
+               ah->ah_capabilities.cap_has_phyerr_counters = false;
+
        return 0;
 }