-static void handle_timer(void)
-{
- uint32_t intr;
-
- intr = get(AR9170_TIMER_REG_INTERRUPT);
-
- /* ACK timer interrupt */
- set(AR9170_TIMER_REG_INTERRUPT, intr);
-
-#define HANDLER(intr, flag, func) \
- do { \
- if ((intr & flag) != 0) { \
- intr &= ~flag; \
- func(); \
- } \
- } while (0)
-
- HANDLER(intr, BIT(0), timer0_isr);
-
- if (intr)
- DBG("Unhandled Timer Event %x", (unsigned int) intr);
+ boff = get(AR9170_MAC_REG_BACKOFF_STATUS);
+ if (boff & AR9170_MAC_BACKOFF_TX_PE)
+ fw.tally.tx_time += delta;
+ if (boff & AR9170_MAC_BACKOFF_CCA)
+ fw.tally.cca += delta;
+ }