diff options
author | Nick Kossifidis <mick@madwifi.org> | 2008-10-28 22:28:28 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-11-10 15:11:57 -0500 |
commit | f07a6c495e88ae0143e3c20b1ed666314197277f (patch) | |
tree | 995d21adcd0a029b44b3c1d5e89dfcbf357fbec0 /drivers/net/wireless/ath5k/reg.h | |
parent | 2c706002fc147decdba2658ea48e4436faca3af2 (diff) |
ath5k: Update PCU code
* In set_opmode don't handle antenna settings and preserve other STA_ID1 settings
(shouldn't matter because we call it during reset but it makes things cleaner)
Also set properly AP/ADHOC indicator flag on CFG while setting AP/ADHOC modes
and always enable key search mode.
* Properly set BSSID Mask during reset (cache it and reuse it durring set_associd)
* Update beacon_init to flush pending BMISS interrupts and handle setting of adhoc
beacon ATIM policy flag for ad-hoc mode. Also set TSF to 0 to start TSF increment
on AP mode. We need to handle sleep timers for AR5212 there + add support for PCF.
* Properly clean MIC key from keytable when TKIP is used (Bob is working on set_key
function etc so i leave it for now).
Tested on AR5212 (Hainan) and AR5413 and works fine
v2 Set PISR on AR5211+ and ISR on AR5210, got to sleep more ;-)
Changes-Licensed-under: ISC
Signed-Off-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath5k/reg.h')
-rw-r--r-- | drivers/net/wireless/ath5k/reg.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath5k/reg.h b/drivers/net/wireless/ath5k/reg.h index 0dae54d00f03..69755fc2f9be 100644 --- a/drivers/net/wireless/ath5k/reg.h +++ b/drivers/net/wireless/ath5k/reg.h | |||
@@ -1114,14 +1114,16 @@ | |||
1114 | #define AR5K_PCU_MAX 0x8fff | 1114 | #define AR5K_PCU_MAX 0x8fff |
1115 | 1115 | ||
1116 | /* | 1116 | /* |
1117 | * First station id register (MAC address in lower 32 bits) | 1117 | * First station id register (Lower 32 bits of MAC address) |
1118 | */ | 1118 | */ |
1119 | #define AR5K_STA_ID0 0x8000 | 1119 | #define AR5K_STA_ID0 0x8000 |
1120 | #define AR5K_STA_ID0_ARRD_L32 0xffffffff | ||
1120 | 1121 | ||
1121 | /* | 1122 | /* |
1122 | * Second station id register (MAC address in upper 16 bits) | 1123 | * Second station id register (Upper 16 bits of MAC address + PCU settings) |
1123 | */ | 1124 | */ |
1124 | #define AR5K_STA_ID1 0x8004 /* Register Address */ | 1125 | #define AR5K_STA_ID1 0x8004 /* Register Address */ |
1126 | #define AR5K_STA_ID1_ADDR_U16 0x0000ffff /* Upper 16 bits of MAC addres */ | ||
1125 | #define AR5K_STA_ID1_AP 0x00010000 /* Set AP mode */ | 1127 | #define AR5K_STA_ID1_AP 0x00010000 /* Set AP mode */ |
1126 | #define AR5K_STA_ID1_ADHOC 0x00020000 /* Set Ad-Hoc mode */ | 1128 | #define AR5K_STA_ID1_ADHOC 0x00020000 /* Set Ad-Hoc mode */ |
1127 | #define AR5K_STA_ID1_PWR_SV 0x00040000 /* Power save reporting */ | 1129 | #define AR5K_STA_ID1_PWR_SV 0x00040000 /* Power save reporting */ |
@@ -1811,6 +1813,10 @@ | |||
1811 | #define AR5K_KEYTABLE_MAC1(_n) AR5K_KEYTABLE_OFF(_n, 7) | 1813 | #define AR5K_KEYTABLE_MAC1(_n) AR5K_KEYTABLE_OFF(_n, 7) |
1812 | #define AR5K_KEYTABLE_VALID 0x00008000 | 1814 | #define AR5K_KEYTABLE_VALID 0x00008000 |
1813 | 1815 | ||
1816 | /* If key type is TKIP and MIC is enabled | ||
1817 | * MIC key goes in offset entry + 64 */ | ||
1818 | #define AR5K_KEYTABLE_MIC_OFFSET 64 | ||
1819 | |||
1814 | /* WEP 40-bit = 40-bit entered key + 24 bit IV = 64-bit | 1820 | /* WEP 40-bit = 40-bit entered key + 24 bit IV = 64-bit |
1815 | * WEP 104-bit = 104-bit entered key + 24-bit IV = 128-bit | 1821 | * WEP 104-bit = 104-bit entered key + 24-bit IV = 128-bit |
1816 | * WEP 128-bit = 128-bit entered key + 24 bit IV = 152-bit | 1822 | * WEP 128-bit = 128-bit entered key + 24 bit IV = 152-bit |