aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath5k/pcu.c
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2008-11-26 16:17:25 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-12-05 09:32:13 -0500
commitf650470a8f506bc33a15778432ebb8cdcf89175b (patch)
tree91d563ae28beaa01d229682ca7a299d70f047f74 /drivers/net/wireless/ath5k/pcu.c
parent671434904633876f89be70af415c35c89fb90115 (diff)
ath5k: enable combined michael mic in key cache
For mac revisions >= "Griffin," the hardware allows the mic tx and rx authenticator keys to share the same cache line, whereas earlier hardware can only store the rx. Enable the combined mic on hardware that supports it. Changes to ath5k.h Changes-licensed-under: 3-Clause-BSD Changes to attach.c, pcu.c, reg.h Changes-licensed-under: ISC Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath5k/pcu.c')
-rw-r--r--drivers/net/wireless/ath5k/pcu.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/net/wireless/ath5k/pcu.c b/drivers/net/wireless/ath5k/pcu.c
index ad7ea36502bd..dabe42219e2a 100644
--- a/drivers/net/wireless/ath5k/pcu.c
+++ b/drivers/net/wireless/ath5k/pcu.c
@@ -1096,20 +1096,20 @@ int ath5k_hw_set_key(struct ath5k_hw *ah, u16 entry,
1096 /* Install rx/tx MIC */ 1096 /* Install rx/tx MIC */
1097 rxmic = (__le32 *) &key->key[16]; 1097 rxmic = (__le32 *) &key->key[16];
1098 txmic = (__le32 *) &key->key[24]; 1098 txmic = (__le32 *) &key->key[24];
1099#if 0 1099
1100 /* MISC_MODE register & 0x04 - for mac srev >= griffin */ 1100 if (ah->ah_combined_mic) {
1101 key_v[0] = rxmic[0]; 1101 key_v[0] = rxmic[0];
1102 key_v[1] = (txmic[0] >> 16) & 0xffff; 1102 key_v[1] = (txmic[0] >> 16) & 0xffff;
1103 key_v[2] = rxmic[1]; 1103 key_v[2] = rxmic[1];
1104 key_v[3] = txmic[0] & 0xffff; 1104 key_v[3] = txmic[0] & 0xffff;
1105 key_v[4] = txmic[1]; 1105 key_v[4] = txmic[1];
1106#else 1106 } else {
1107 key_v[0] = rxmic[0]; 1107 key_v[0] = rxmic[0];
1108 key_v[1] = 0; 1108 key_v[1] = 0;
1109 key_v[2] = rxmic[1]; 1109 key_v[2] = rxmic[1];
1110 key_v[3] = 0; 1110 key_v[3] = 0;
1111 key_v[4] = 0; 1111 key_v[4] = 0;
1112#endif 1112 }
1113 for (i = 0; i < ARRAY_SIZE(key_v); i++) 1113 for (i = 0; i < ARRAY_SIZE(key_v); i++)
1114 ath5k_hw_reg_write(ah, le32_to_cpu(key_v[i]), 1114 ath5k_hw_reg_write(ah, le32_to_cpu(key_v[i]),
1115 AR5K_KEYTABLE_OFF(micentry, i)); 1115 AR5K_KEYTABLE_OFF(micentry, i));