Lines Matching refs:ah
21 #include "ah.h"
36 #define IS_MIC_ENABLED(ah) \
37 (AH5212(ah)->ah_staId1Defaults & AR_STA_ID1_CRPT_MIC_ENABLE)
43 ar5212GetKeyCacheSize(struct ath_hal *ah)
45 return AH_PRIVATE(ah)->ah_caps.halKeyCacheSize;
52 ar5212IsKeyCacheEntryValid(struct ath_hal *ah, uint16_t entry)
54 if (entry < AH_PRIVATE(ah)->ah_caps.halKeyCacheSize) {
55 uint32_t val = OS_REG_READ(ah, AR_KEYTABLE_MAC1(entry));
66 ar5212ResetKeyCacheEntry(struct ath_hal *ah, uint16_t entry)
70 if (entry >= AH_PRIVATE(ah)->ah_caps.halKeyCacheSize) {
71 HALDEBUG(ah, HAL_DEBUG_ANY, "%s: entry %u out of range\n",
75 keyType = OS_REG_READ(ah, AR_KEYTABLE_TYPE(entry));
78 OS_REG_WRITE(ah, AR_KEYTABLE_KEY0(entry), 0);
79 OS_REG_WRITE(ah, AR_KEYTABLE_KEY1(entry), 0);
80 OS_REG_WRITE(ah, AR_KEYTABLE_KEY2(entry), 0);
81 OS_REG_WRITE(ah, AR_KEYTABLE_KEY3(entry), 0);
82 OS_REG_WRITE(ah, AR_KEYTABLE_KEY4(entry), 0);
83 OS_REG_WRITE(ah, AR_KEYTABLE_TYPE(entry), AR_KEYTABLE_TYPE_CLR);
84 OS_REG_WRITE(ah, AR_KEYTABLE_MAC0(entry), 0);
85 OS_REG_WRITE(ah, AR_KEYTABLE_MAC1(entry), 0);
86 if (keyType == AR_KEYTABLE_TYPE_TKIP && IS_MIC_ENABLED(ah)) {
89 HALASSERT(micentry < AH_PRIVATE(ah)->ah_caps.halKeyCacheSize);
90 OS_REG_WRITE(ah, AR_KEYTABLE_KEY0(micentry), 0);
91 OS_REG_WRITE(ah, AR_KEYTABLE_KEY1(micentry), 0);
92 OS_REG_WRITE(ah, AR_KEYTABLE_KEY2(micentry), 0);
93 OS_REG_WRITE(ah, AR_KEYTABLE_KEY3(micentry), 0);
104 ar5212SetKeyCacheEntryMac(struct ath_hal *ah, uint16_t entry, const uint8_t *mac)
108 if (entry >= AH_PRIVATE(ah)->ah_caps.halKeyCacheSize) {
109 HALDEBUG(ah, HAL_DEBUG_ANY, "%s: entry %u out of range\n",
127 OS_REG_WRITE(ah, AR_KEYTABLE_MAC0(entry), macLo);
128 OS_REG_WRITE(ah, AR_KEYTABLE_MAC1(entry), macHi | AR_KEYTABLE_VALID);
137 ar5212SetKeyCacheEntry(struct ath_hal *ah, uint16_t entry,
141 struct ath_hal_5212 *ahp = AH5212(ah);
142 const HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps;
149 HALDEBUG(ah, HAL_DEBUG_ANY, "%s: entry %u out of range\n",
159 HALDEBUG(ah, HAL_DEBUG_ANY,
161 __func__, AH_PRIVATE(ah)->ah_macRev);
168 if (IS_MIC_ENABLED(ah) && entry+64 >= pCap->halKeyCacheSize) {
169 HALDEBUG(ah, HAL_DEBUG_ANY,
177 HALDEBUG(ah, HAL_DEBUG_ANY,
193 HALDEBUG(ah, HAL_DEBUG_ANY, "%s: cipher %u not supported\n",
212 if (keyType == AR_KEYTABLE_TYPE_TKIP && IS_MIC_ENABLED(ah)) {
221 OS_REG_WRITE(ah, AR_KEYTABLE_KEY0(entry), ~key0);
222 OS_REG_WRITE(ah, AR_KEYTABLE_KEY1(entry), ~key1);
223 OS_REG_WRITE(ah, AR_KEYTABLE_KEY2(entry), key2);
224 OS_REG_WRITE(ah, AR_KEYTABLE_KEY3(entry), key3);
225 OS_REG_WRITE(ah, AR_KEYTABLE_KEY4(entry), key4);
226 OS_REG_WRITE(ah, AR_KEYTABLE_TYPE(entry), keyType);
227 (void) ar5212SetKeyCacheEntryMac(ah, entry, mac);
260 OS_REG_WRITE(ah, AR_KEYTABLE_KEY0(micentry), mic0);
261 OS_REG_WRITE(ah, AR_KEYTABLE_KEY1(micentry), mic1);
262 OS_REG_WRITE(ah, AR_KEYTABLE_KEY2(micentry), mic2);
263 OS_REG_WRITE(ah, AR_KEYTABLE_KEY3(micentry), mic3);
264 OS_REG_WRITE(ah, AR_KEYTABLE_KEY4(micentry), mic4);
265 OS_REG_WRITE(ah, AR_KEYTABLE_TYPE(micentry),
268 OS_REG_WRITE(ah, AR_KEYTABLE_MAC0(micentry), 0);
269 OS_REG_WRITE(ah, AR_KEYTABLE_MAC1(micentry), 0);
272 OS_REG_WRITE(ah, AR_KEYTABLE_KEY0(entry), key0);
273 OS_REG_WRITE(ah, AR_KEYTABLE_KEY1(entry), key1);
275 OS_REG_WRITE(ah, AR_KEYTABLE_KEY0(entry), key0);
276 OS_REG_WRITE(ah, AR_KEYTABLE_KEY1(entry), key1);
277 OS_REG_WRITE(ah, AR_KEYTABLE_KEY2(entry), key2);
278 OS_REG_WRITE(ah, AR_KEYTABLE_KEY3(entry), key3);
279 OS_REG_WRITE(ah, AR_KEYTABLE_KEY4(entry), key4);
280 OS_REG_WRITE(ah, AR_KEYTABLE_TYPE(entry), keyType);
282 (void) ar5212SetKeyCacheEntryMac(ah, entry, mac);