|
@@ -26,6 +26,47 @@
|
|
#define REG_READ_D(_ah, _reg) \
|
|
#define REG_READ_D(_ah, _reg) \
|
|
ath9k_hw_common(_ah)->ops->read((_ah), (_reg))
|
|
ath9k_hw_common(_ah)->ops->read((_ah), (_reg))
|
|
|
|
|
|
|
|
+void ath9k_debug_sync_cause(struct ath_softc *sc, u32 sync_cause)
|
|
|
|
+{
|
|
|
|
+ if (sync_cause)
|
|
|
|
+ sc->debug.stats.istats.sync_cause_all++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_RTC_IRQ)
|
|
|
|
+ sc->debug.stats.istats.sync_rtc_irq++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_MAC_IRQ)
|
|
|
|
+ sc->debug.stats.istats.sync_mac_irq++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_EEPROM_ILLEGAL_ACCESS)
|
|
|
|
+ sc->debug.stats.istats.eeprom_illegal_access++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_APB_TIMEOUT)
|
|
|
|
+ sc->debug.stats.istats.apb_timeout++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_PCI_MODE_CONFLICT)
|
|
|
|
+ sc->debug.stats.istats.pci_mode_conflict++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_HOST1_FATAL)
|
|
|
|
+ sc->debug.stats.istats.host1_fatal++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_HOST1_PERR)
|
|
|
|
+ sc->debug.stats.istats.host1_perr++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_TRCV_FIFO_PERR)
|
|
|
|
+ sc->debug.stats.istats.trcv_fifo_perr++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_RADM_CPL_EP)
|
|
|
|
+ sc->debug.stats.istats.radm_cpl_ep++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_RADM_CPL_DLLP_ABORT)
|
|
|
|
+ sc->debug.stats.istats.radm_cpl_dllp_abort++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_RADM_CPL_TLP_ABORT)
|
|
|
|
+ sc->debug.stats.istats.radm_cpl_tlp_abort++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_RADM_CPL_ECRC_ERR)
|
|
|
|
+ sc->debug.stats.istats.radm_cpl_ecrc_err++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_RADM_CPL_TIMEOUT)
|
|
|
|
+ sc->debug.stats.istats.radm_cpl_timeout++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_LOCAL_TIMEOUT)
|
|
|
|
+ sc->debug.stats.istats.local_timeout++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_PM_ACCESS)
|
|
|
|
+ sc->debug.stats.istats.pm_access++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_MAC_AWAKE)
|
|
|
|
+ sc->debug.stats.istats.mac_awake++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_MAC_ASLEEP)
|
|
|
|
+ sc->debug.stats.istats.mac_asleep++;
|
|
|
|
+ if (sync_cause & AR_INTR_SYNC_MAC_SLEEP_ACCESS)
|
|
|
|
+ sc->debug.stats.istats.mac_sleep_access++;
|
|
|
|
+}
|
|
|
|
|
|
static ssize_t ath9k_debugfs_read_buf(struct file *file, char __user *user_buf,
|
|
static ssize_t ath9k_debugfs_read_buf(struct file *file, char __user *user_buf,
|
|
size_t count, loff_t *ppos)
|
|
size_t count, loff_t *ppos)
|