Lines Matching refs:ah

21 #include "ah.h"
44 ar5212SetRxDP(struct ath_hal *ah, uint32_t rxdp, HAL_RX_QUEUE qtype)
48 OS_REG_WRITE(ah, AR_RXDP, rxdp);
49 HALASSERT(OS_REG_READ(ah, AR_RXDP) == rxdp);
56 ar5212EnableReceive(struct ath_hal *ah)
58 OS_REG_WRITE(ah, AR_CR, AR_CR_RXE);
65 ar5212StopDmaReceive(struct ath_hal *ah)
67 OS_MARK(ah, AH_MARK_RX_CTL, AH_MARK_RX_CTL_DMA_STOP);
68 OS_REG_WRITE(ah, AR_CR, AR_CR_RXD); /* Set receive disable bit */
69 if (!ath_hal_wait(ah, AR_CR, AR_CR_RXE, 0)) {
70 OS_MARK(ah, AH_MARK_RX_CTL, AH_MARK_RX_CTL_DMA_STOP_ERR);
72 ath_hal_printf(ah, "%s: dma failed to stop in 10ms\n"
75 OS_REG_READ(ah, AR_CR),
76 OS_REG_READ(ah, AR_DIAG_SW));
88 ar5212StartPcuReceive(struct ath_hal *ah)
90 struct ath_hal_private *ahp = AH_PRIVATE(ah);
92 OS_MARK(ah, AH_MARK_RX_CTL, AH_MARK_RX_CTL_PCU_START);
93 OS_REG_WRITE(ah, AR_DIAG_SW,
94 OS_REG_READ(ah, AR_DIAG_SW) &~ AR_DIAG_RX_DIS);
95 ar5212EnableMibCounters(ah);
97 ar5212AniReset(ah, ahp->ah_curchan, ahp->ah_opmode, AH_TRUE);
104 ar5212StopPcuReceive(struct ath_hal *ah)
106 OS_MARK(ah, AH_MARK_RX_CTL, AH_MARK_RX_CTL_PCU_STOP);
107 OS_REG_WRITE(ah, AR_DIAG_SW,
108 OS_REG_READ(ah, AR_DIAG_SW) | AR_DIAG_RX_DIS);
109 ar5212DisableMibCounters(ah);
117 ar5212SetMulticastFilter(struct ath_hal *ah, uint32_t filter0, uint32_t filter1)
119 OS_REG_WRITE(ah, AR_MCAST_FIL0, filter0);
120 OS_REG_WRITE(ah, AR_MCAST_FIL1, filter1);
127 ar5212ClrMulticastFilterIndex(struct ath_hal *ah, uint32_t ix)
134 val = OS_REG_READ(ah, AR_MCAST_FIL1);
135 OS_REG_WRITE(ah, AR_MCAST_FIL1, (val &~ (1<<(ix-32))));
137 val = OS_REG_READ(ah, AR_MCAST_FIL0);
138 OS_REG_WRITE(ah, AR_MCAST_FIL0, (val &~ (1<<ix)));
147 ar5212SetMulticastFilterIndex(struct ath_hal *ah, uint32_t ix)
154 val = OS_REG_READ(ah, AR_MCAST_FIL1);
155 OS_REG_WRITE(ah, AR_MCAST_FIL1, (val | (1<<(ix-32))));
157 val = OS_REG_READ(ah, AR_MCAST_FIL0);
158 OS_REG_WRITE(ah, AR_MCAST_FIL0, (val | (1<<ix)));
167 ar5212GetRxFilter(struct ath_hal *ah)
169 uint32_t bits = OS_REG_READ(ah, AR_RX_FILTER);
170 uint32_t phybits = OS_REG_READ(ah, AR_PHY_ERR);
175 if (AH_PRIVATE(ah)->ah_caps.halBssidMatchSupport &&
176 (AH5212(ah)->ah_miscMode & AR_MISC_MODE_BSSID_MATCH_FORCE))
185 ar5212SetRxFilter(struct ath_hal *ah, uint32_t bits)
187 struct ath_hal_5212 *ahp = AH5212(ah);
190 OS_REG_WRITE(ah, AR_RX_FILTER,
198 OS_REG_WRITE(ah, AR_PHY_ERR, phybits);
200 OS_REG_WRITE(ah, AR_RXCFG,
201 OS_REG_READ(ah, AR_RXCFG) | AR_RXCFG_ZLFDMA);
203 OS_REG_WRITE(ah, AR_RXCFG,
204 OS_REG_READ(ah, AR_RXCFG) &~ AR_RXCFG_ZLFDMA);
206 if (AH_PRIVATE(ah)->ah_caps.halBssidMatchSupport) {
211 OS_REG_WRITE(ah, AR_MISC_MODE, OS_REG_READ(ah, AR_MISC_MODE) | ahp->ah_miscMode);
220 ar5212SetupRxDesc(struct ath_hal *ah, struct ath_desc *ds,
246 ar5212ProcRxDesc(struct ath_hal *ah, struct ath_desc *ds,
260 if ((ands->ds_rxstatus1&AR_Done) == 0 && OS_REG_READ(ah, AR_RXDP) == pa)
304 if (!AH5212(ah)->ah_hasHwPhyCounters &&
306 ar5212AniPhyErrReport(ah, rs);