Lines Matching refs:ah

59 #define ANI_ENA(ah) \  argument
60 (AH5212(ah)->ah_procPhyErr & HAL_ANI_ENA)
61 #define ANI_ENA_RSSI(ah) \ argument
62 (AH5212(ah)->ah_procPhyErr & HAL_RSSI_ANI_ENA)
67 enableAniMIBCounters(struct ath_hal *ah, const struct ar5212AniParams *params) in enableAniMIBCounters() argument
69 struct ath_hal_5212 *ahp = AH5212(ah); in enableAniMIBCounters()
71 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: Enable mib counters: " in enableAniMIBCounters()
75 OS_REG_WRITE(ah, AR_FILTOFDM, 0); in enableAniMIBCounters()
76 OS_REG_WRITE(ah, AR_FILTCCK, 0); in enableAniMIBCounters()
78 OS_REG_WRITE(ah, AR_PHYCNT1, params->ofdmPhyErrBase); in enableAniMIBCounters()
79 OS_REG_WRITE(ah, AR_PHYCNT2, params->cckPhyErrBase); in enableAniMIBCounters()
80 OS_REG_WRITE(ah, AR_PHYCNTMASK1, AR_PHY_ERR_OFDM_TIMING); in enableAniMIBCounters()
81 OS_REG_WRITE(ah, AR_PHYCNTMASK2, AR_PHY_ERR_CCK_TIMING); in enableAniMIBCounters()
83 ar5212UpdateMibCounters(ah, &ahp->ah_mibStats); /* save+clear counters*/ in enableAniMIBCounters()
84 ar5212EnableMibCounters(ah); /* enable everything */ in enableAniMIBCounters()
88 disableAniMIBCounters(struct ath_hal *ah) in disableAniMIBCounters() argument
90 struct ath_hal_5212 *ahp = AH5212(ah); in disableAniMIBCounters()
92 HALDEBUG(ah, HAL_DEBUG_ANI, "Disable MIB counters\n"); in disableAniMIBCounters()
94 ar5212UpdateMibCounters(ah, &ahp->ah_mibStats); /* save stats */ in disableAniMIBCounters()
95 ar5212DisableMibCounters(ah); /* disable everything */ in disableAniMIBCounters()
97 OS_REG_WRITE(ah, AR_PHYCNTMASK1, 0); in disableAniMIBCounters()
98 OS_REG_WRITE(ah, AR_PHYCNTMASK2, 0); in disableAniMIBCounters()
105 ar5212AniGetCurrentState(struct ath_hal *ah) in ar5212AniGetCurrentState() argument
107 return AH5212(ah)->ah_curani; in ar5212AniGetCurrentState()
114 ar5212AniGetCurrentStats(struct ath_hal *ah) in ar5212AniGetCurrentStats() argument
116 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniGetCurrentStats()
120 ar5212UpdateMibCounters(ah, &ahp->ah_mibStats); in ar5212AniGetCurrentStats()
125 setPhyErrBase(struct ath_hal *ah, struct ar5212AniParams *params) in setPhyErrBase() argument
128 HALDEBUG(ah, HAL_DEBUG_ANY, in setPhyErrBase()
135 HALDEBUG(ah, HAL_DEBUG_ANY, in setPhyErrBase()
150 ar5212AniAttach(struct ath_hal *ah, const struct ar5212AniParams *params24, in ar5212AniAttach() argument
153 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniAttach()
156 AH_PRIVATE(ah)->ah_caps.halHwPhyCounterSupport; in ar5212AniAttach()
160 setPhyErrBase(ah, &ahp->ah_aniParams24); in ar5212AniAttach()
164 setPhyErrBase(ah, &ahp->ah_aniParams5); in ar5212AniAttach()
170 enableAniMIBCounters(ah, &ahp->ah_aniParams24 /*XXX*/); in ar5212AniAttach()
181 ar5212AniSetParams(struct ath_hal *ah, const struct ar5212AniParams *params24, in ar5212AniSetParams() argument
184 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniSetParams()
187 ar5212AniControl(ah, HAL_ANI_MODE, AH_FALSE); in ar5212AniSetParams()
190 setPhyErrBase(ah, &ahp->ah_aniParams24); in ar5212AniSetParams()
192 setPhyErrBase(ah, &ahp->ah_aniParams5); in ar5212AniSetParams()
195 ar5212AniReset(ah, AH_PRIVATE(ah)->ah_curchan, in ar5212AniSetParams()
196 AH_PRIVATE(ah)->ah_opmode, AH_FALSE); in ar5212AniSetParams()
198 ar5212AniControl(ah, HAL_ANI_MODE, ena); in ar5212AniSetParams()
207 ar5212AniDetach(struct ath_hal *ah) in ar5212AniDetach() argument
209 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniDetach()
211 HALDEBUG(ah, HAL_DEBUG_ANI, "Detaching Ani\n"); in ar5212AniDetach()
213 disableAniMIBCounters(ah); in ar5212AniDetach()
220 ar5212AniControl(struct ath_hal *ah, HAL_ANI_CMD cmd, int param) in ar5212AniControl() argument
223 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniControl()
234 OS_MARK(ah, AH_MARK_ANI_CONTROL, cmd); in ar5212AniControl()
241 HALDEBUG(ah, HAL_DEBUG_ANY, in ar5212AniControl()
247 OS_REG_RMW_FIELD(ah, AR_PHY_DESIRED_SZ, in ar5212AniControl()
249 OS_REG_RMW_FIELD(ah, AR_PHY_AGC_CTL1, in ar5212AniControl()
251 OS_REG_RMW_FIELD(ah, AR_PHY_AGC_CTL1, in ar5212AniControl()
253 OS_REG_RMW_FIELD(ah, AR_PHY_FIND_SIG, in ar5212AniControl()
272 OS_REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, in ar5212AniControl()
274 OS_REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, in ar5212AniControl()
276 OS_REG_RMW_FIELD(ah, AR_PHY_SFCORR, in ar5212AniControl()
278 OS_REG_RMW_FIELD(ah, AR_PHY_SFCORR, in ar5212AniControl()
280 OS_REG_RMW_FIELD(ah, AR_PHY_SFCORR, in ar5212AniControl()
282 OS_REG_RMW_FIELD(ah, AR_PHY_SFCORR_LOW, in ar5212AniControl()
286 OS_REG_SET_BIT(ah, AR_PHY_SFCORR_LOW, in ar5212AniControl()
290 OS_REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW, in ar5212AniControl()
301 OS_REG_RMW_FIELD(ah, AR_PHY_CCK_DETECT, in ar5212AniControl()
314 HALDEBUG(ah, HAL_DEBUG_ANY, in ar5212AniControl()
319 OS_REG_RMW_FIELD(ah, AR_PHY_FIND_SIG, in ar5212AniControl()
332 HALDEBUG(ah, HAL_DEBUG_ANY, in ar5212AniControl()
337 OS_REG_RMW_FIELD(ah, AR_PHY_TIMING5, in ar5212AniControl()
352 ar5212AniDetach(ah); in ar5212AniControl()
353 ah->ah_setRxFilter(ah, in ar5212AniControl()
354 ah->ah_getRxFilter(ah) &~ HAL_RX_FILTER_PHYERR); in ar5212AniControl()
360 ar5212SetRxFilter(ah, in ar5212AniControl()
361 ar5212GetRxFilter(ah) &~ HAL_RX_FILTER_PHYERR); in ar5212AniControl()
363 enableAniMIBCounters(ah, in ar5212AniControl()
368 ah->ah_setRxFilter(ah, in ar5212AniControl()
369 ah->ah_getRxFilter(ah) | HAL_RX_FILTER_PHYERR); in ar5212AniControl()
381 HALDEBUG(ah, HAL_DEBUG_ANY, "%s: invalid cmd %u\n", in ar5212AniControl()
389 ar5212AniOfdmErrTrigger(struct ath_hal *ah) in ar5212AniOfdmErrTrigger() argument
391 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniOfdmErrTrigger()
392 const struct ieee80211_channel *chan = AH_PRIVATE(ah)->ah_curchan; in ar5212AniOfdmErrTrigger()
398 if (!ANI_ENA(ah)) in ar5212AniOfdmErrTrigger()
405 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: raise NI to %u\n", __func__, in ar5212AniOfdmErrTrigger()
407 ar5212AniControl(ah, HAL_ANI_NOISE_IMMUNITY_LEVEL, in ar5212AniOfdmErrTrigger()
413 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: raise SI to %u\n", __func__, in ar5212AniOfdmErrTrigger()
415 ar5212AniControl(ah, HAL_ANI_SPUR_IMMUNITY_LEVEL, in ar5212AniOfdmErrTrigger()
420 if (ANI_ENA_RSSI(ah)) { in ar5212AniOfdmErrTrigger()
428 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniOfdmErrTrigger()
430 ar5212AniControl(ah, in ar5212AniOfdmErrTrigger()
433 ar5212AniControl(ah, in ar5212AniOfdmErrTrigger()
442 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniOfdmErrTrigger()
445 ar5212AniControl(ah, HAL_ANI_FIRSTEP_LEVEL, in ar5212AniOfdmErrTrigger()
455 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniOfdmErrTrigger()
457 ar5212AniControl(ah, in ar5212AniOfdmErrTrigger()
462 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniOfdmErrTrigger()
465 ar5212AniControl(ah, HAL_ANI_FIRSTEP_LEVEL, in ar5212AniOfdmErrTrigger()
477 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniOfdmErrTrigger()
480 ar5212AniControl(ah, in ar5212AniOfdmErrTrigger()
485 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniOfdmErrTrigger()
489 ar5212AniControl(ah, in ar5212AniOfdmErrTrigger()
499 ar5212AniCckErrTrigger(struct ath_hal *ah) in ar5212AniCckErrTrigger() argument
501 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniCckErrTrigger()
502 const struct ieee80211_channel *chan = AH_PRIVATE(ah)->ah_curchan; in ar5212AniCckErrTrigger()
508 if (!ANI_ENA(ah)) in ar5212AniCckErrTrigger()
515 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: raise NI to %u\n", __func__, in ar5212AniCckErrTrigger()
517 ar5212AniControl(ah, HAL_ANI_NOISE_IMMUNITY_LEVEL, in ar5212AniCckErrTrigger()
522 if (ANI_ENA_RSSI(ah)) { in ar5212AniCckErrTrigger()
530 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniCckErrTrigger()
533 ar5212AniControl(ah, HAL_ANI_FIRSTEP_LEVEL, in ar5212AniCckErrTrigger()
545 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniCckErrTrigger()
549 ar5212AniControl(ah, in ar5212AniCckErrTrigger()
558 ar5212AniRestart(struct ath_hal *ah, struct ar5212AniState *aniState) in ar5212AniRestart() argument
560 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniRestart()
569 OS_REG_WRITE(ah, AR_PHYCNT1, params->ofdmPhyErrBase); in ar5212AniRestart()
570 OS_REG_WRITE(ah, AR_PHYCNT2, params->cckPhyErrBase); in ar5212AniRestart()
571 OS_REG_WRITE(ah, AR_PHYCNTMASK1, AR_PHY_ERR_OFDM_TIMING); in ar5212AniRestart()
572 OS_REG_WRITE(ah, AR_PHYCNTMASK2, AR_PHY_ERR_CCK_TIMING); in ar5212AniRestart()
575 ar5212UpdateMibCounters(ah, &ahp->ah_mibStats); in ar5212AniRestart()
586 ar5212AniReset(struct ath_hal *ah, const struct ieee80211_channel *chan, in ar5212AniReset() argument
589 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniReset()
590 HAL_CHANNEL_INTERNAL *ichan = ath_hal_checkchannel(ah, chan); in ar5212AniReset()
606 ath_hal_printf(ah,"%s: chan %u/0x%x restore %d opmode %u%s\n", in ar5212AniReset()
610 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: chan %u/0x%x restore %d opmode %u%s\n", in ar5212AniReset()
614 OS_MARK(ah, AH_MARK_ANI_RESET, opmode); in ar5212AniReset()
619 rxfilter = ah->ah_getRxFilter(ah); in ar5212AniReset()
620 ah->ah_setRxFilter(ah, rxfilter &~ HAL_RX_FILTER_PHYERR); in ar5212AniReset()
627 if (! ANI_ENA(ah)) { in ar5212AniReset()
628 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: ANI disabled\n", in ar5212AniReset()
647 ar5212AniControl(ah, HAL_ANI_NOISE_IMMUNITY_LEVEL, in ar5212AniReset()
649 ar5212AniControl(ah, HAL_ANI_SPUR_IMMUNITY_LEVEL, in ar5212AniReset()
651 ar5212AniControl(ah, HAL_ANI_OFDM_WEAK_SIGNAL_DETECTION, in ar5212AniReset()
653 ar5212AniControl(ah, HAL_ANI_CCK_WEAK_SIGNAL_THR, in ar5212AniReset()
655 ar5212AniControl(ah, HAL_ANI_FIRSTEP_LEVEL, in ar5212AniReset()
658 ar5212AniControl(ah, HAL_ANI_NOISE_IMMUNITY_LEVEL, 0); in ar5212AniReset()
659 ar5212AniControl(ah, HAL_ANI_SPUR_IMMUNITY_LEVEL, 0); in ar5212AniReset()
660 ar5212AniControl(ah, HAL_ANI_OFDM_WEAK_SIGNAL_DETECTION, in ar5212AniReset()
662 ar5212AniControl(ah, HAL_ANI_CCK_WEAK_SIGNAL_THR, AH_FALSE); in ar5212AniReset()
663 ar5212AniControl(ah, HAL_ANI_FIRSTEP_LEVEL, 0); in ar5212AniReset()
669 enableAniMIBCounters(ah, ahp->ah_curani->params); in ar5212AniReset()
670 ar5212AniRestart(ah, aniState); in ar5212AniReset()
674 ah->ah_setRxFilter(ah, rxfilter); in ar5212AniReset()
683 ar5212ProcessMibIntr(struct ath_hal *ah, const HAL_NODE_STATS *stats) in ar5212ProcessMibIntr() argument
685 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212ProcessMibIntr()
688 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: mibc 0x%x phyCnt1 0x%x phyCnt2 0x%x " in ar5212ProcessMibIntr()
690 __func__, OS_REG_READ(ah, AR_MIBC), in ar5212ProcessMibIntr()
691 OS_REG_READ(ah, AR_PHYCNT1), OS_REG_READ(ah, AR_PHYCNT2), in ar5212ProcessMibIntr()
692 OS_REG_READ(ah, AR_FILTOFDM), OS_REG_READ(ah, AR_FILTCCK)); in ar5212ProcessMibIntr()
704 phyCnt1 = OS_REG_READ(ah, AR_PHYCNT1); in ar5212ProcessMibIntr()
705 phyCnt2 = OS_REG_READ(ah, AR_PHYCNT2); in ar5212ProcessMibIntr()
707 OS_REG_WRITE(ah, AR_FILTOFDM, 0); in ar5212ProcessMibIntr()
708 OS_REG_WRITE(ah, AR_FILTCCK, 0); in ar5212ProcessMibIntr()
711 ar5212UpdateMibCounters(ah, &ahp->ah_mibStats); in ar5212ProcessMibIntr()
743 ar5212AniOfdmErrTrigger(ah); in ar5212ProcessMibIntr()
745 ar5212AniCckErrTrigger(ah); in ar5212ProcessMibIntr()
747 ar5212AniRestart(ah, aniState); in ar5212ProcessMibIntr()
752 ar5212AniPhyErrReport(struct ath_hal *ah, const struct ath_rx_status *rs) in ar5212AniPhyErrReport() argument
754 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniPhyErrReport()
766 ar5212AniOfdmErrTrigger(ah); in ar5212AniPhyErrReport()
767 ar5212AniRestart(ah, aniState); in ar5212AniPhyErrReport()
773 ar5212AniCckErrTrigger(ah); in ar5212AniPhyErrReport()
774 ar5212AniRestart(ah, aniState); in ar5212AniPhyErrReport()
780 ar5212AniLowerImmunity(struct ath_hal *ah) in ar5212AniLowerImmunity() argument
782 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniLowerImmunity()
786 HALASSERT(ANI_ENA(ah)); in ar5212AniLowerImmunity()
790 if (ANI_ENA_RSSI(ah)) { in ar5212AniLowerImmunity()
804 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniLowerImmunity()
806 ar5212AniControl(ah, in ar5212AniLowerImmunity()
812 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniLowerImmunity()
815 ar5212AniControl(ah, HAL_ANI_FIRSTEP_LEVEL, in ar5212AniLowerImmunity()
824 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniLowerImmunity()
827 ar5212AniControl(ah, HAL_ANI_FIRSTEP_LEVEL, in ar5212AniLowerImmunity()
835 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: lower SI %u\n", in ar5212AniLowerImmunity()
837 ar5212AniControl(ah, HAL_ANI_SPUR_IMMUNITY_LEVEL, in ar5212AniLowerImmunity()
846 HALDEBUG(ah, HAL_DEBUG_ANI, "%s: lower NI %u\n", in ar5212AniLowerImmunity()
848 ar5212AniControl(ah, HAL_ANI_NOISE_IMMUNITY_LEVEL, in ar5212AniLowerImmunity()
865 ar5212AniGetListenTime(struct ath_hal *ah) in ar5212AniGetListenTime() argument
867 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniGetListenTime()
876 if (AH_PRIVATE(ah)->ah_curchan == AH_NULL) { in ar5212AniGetListenTime()
877 ath_hal_printf(ah, "%s: ah_curchan = NULL?\n", __func__); in ar5212AniGetListenTime()
886 good = ar5212GetMibCycleCounts(ah, &hs); in ar5212AniGetListenTime()
887 ath_hal_survey_add_sample(ah, &hs); in ar5212AniGetListenTime()
889 if (ANI_ENA(ah)) in ar5212AniGetListenTime()
900 } else if (ANI_ENA(ah)) { in ar5212AniGetListenTime()
906 AH5212(ah)->ah_cycleCount - aniState->cycleCount; in ar5212AniGetListenTime()
908 AH5212(ah)->ah_rxBusy - aniState->rxFrameCount; in ar5212AniGetListenTime()
910 AH5212(ah)->ah_txBusy - aniState->txFrameCount; in ar5212AniGetListenTime()
917 if (ANI_ENA(ah)) { in ar5212AniGetListenTime()
918 aniState->cycleCount = AH5212(ah)->ah_cycleCount; in ar5212AniGetListenTime()
919 aniState->rxFrameCount = AH5212(ah)->ah_rxBusy; in ar5212AniGetListenTime()
920 aniState->txFrameCount = AH5212(ah)->ah_txBusy; in ar5212AniGetListenTime()
930 updateMIBStats(struct ath_hal *ah, struct ar5212AniState *aniState) in updateMIBStats() argument
932 struct ath_hal_5212 *ahp = AH5212(ah); in updateMIBStats()
940 ar5212UpdateMibCounters(ah, &ahp->ah_mibStats); in updateMIBStats()
943 phyCnt1 = OS_REG_READ(ah, AR_PHYCNT1); in updateMIBStats()
944 phyCnt2 = OS_REG_READ(ah, AR_PHYCNT2); in updateMIBStats()
949 HALDEBUG(ah, HAL_DEBUG_ANI, "OFDM phyErrCnt %d phyCnt1 0x%x\n", in updateMIBStats()
959 HALDEBUG(ah, HAL_DEBUG_ANI, "CCK phyErrCnt %d phyCnt2 0x%x\n", in updateMIBStats()
969 ar5212RxMonitor(struct ath_hal *ah, const HAL_NODE_STATS *stats, in ar5212RxMonitor() argument
972 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212RxMonitor()
981 ar5212AniPoll(struct ath_hal *ah, const struct ieee80211_channel *chan) in ar5212AniPoll() argument
983 struct ath_hal_5212 *ahp = AH5212(ah); in ar5212AniPoll()
989 listenTime = ar5212AniGetListenTime(ah); in ar5212AniPoll()
994 if (!ANI_ENA(ah)) in ar5212AniPoll()
1000 ar5212AniRestart(ah, aniState); in ar5212AniPoll()
1008 OS_MARK(ah, AH_MARK_ANI_POLL, aniState->listenTime); in ar5212AniPoll()
1017 updateMIBStats(ah, aniState); in ar5212AniPoll()
1022 ar5212AniLowerImmunity(ah); in ar5212AniPoll()
1023 ar5212AniRestart(ah, aniState); in ar5212AniPoll()
1026 updateMIBStats(ah, aniState); in ar5212AniPoll()
1030 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniPoll()
1033 ar5212AniOfdmErrTrigger(ah); in ar5212AniPoll()
1034 ar5212AniRestart(ah, aniState); in ar5212AniPoll()
1037 HALDEBUG(ah, HAL_DEBUG_ANI, in ar5212AniPoll()
1040 ar5212AniCckErrTrigger(ah); in ar5212AniPoll()
1041 ar5212AniRestart(ah, aniState); in ar5212AniPoll()