diff options
author | Michael Buesch <mb@bu3sch.de> | 2009-06-08 15:04:57 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-06-10 13:28:37 -0400 |
commit | 403a3a136122457165321e90b7569a321cc9ac12 (patch) | |
tree | 55eafd8ccb989d19937d884993326c7d8e135be7 /drivers/net/wireless/b43/b43.h | |
parent | 908209c160da8ecb68052111972b7a21310eac3f (diff) |
b43: Add fw capabilities
Add automagic feature flags, so the firmware can tell the driver
about supported features and the driver can switch features on/off as
needed.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/b43.h')
-rw-r--r-- | drivers/net/wireless/b43/b43.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h index 75aede02f932..f580c2812d91 100644 --- a/drivers/net/wireless/b43/b43.h +++ b/drivers/net/wireless/b43/b43.h | |||
@@ -163,6 +163,7 @@ enum { | |||
163 | #define B43_SHM_SH_WLCOREREV 0x0016 /* 802.11 core revision */ | 163 | #define B43_SHM_SH_WLCOREREV 0x0016 /* 802.11 core revision */ |
164 | #define B43_SHM_SH_PCTLWDPOS 0x0008 | 164 | #define B43_SHM_SH_PCTLWDPOS 0x0008 |
165 | #define B43_SHM_SH_RXPADOFF 0x0034 /* RX Padding data offset (PIO only) */ | 165 | #define B43_SHM_SH_RXPADOFF 0x0034 /* RX Padding data offset (PIO only) */ |
166 | #define B43_SHM_SH_FWCAPA 0x0042 /* Firmware capabilities (Opensource firmware only) */ | ||
166 | #define B43_SHM_SH_PHYVER 0x0050 /* PHY version */ | 167 | #define B43_SHM_SH_PHYVER 0x0050 /* PHY version */ |
167 | #define B43_SHM_SH_PHYTYPE 0x0052 /* PHY type */ | 168 | #define B43_SHM_SH_PHYTYPE 0x0052 /* PHY type */ |
168 | #define B43_SHM_SH_ANTSWAP 0x005C /* Antenna swap threshold */ | 169 | #define B43_SHM_SH_ANTSWAP 0x005C /* Antenna swap threshold */ |
@@ -297,6 +298,10 @@ enum { | |||
297 | #define B43_HF_MLADVW 0x001000000000ULL /* N PHY ML ADV workaround (rev >= 13 only) */ | 298 | #define B43_HF_MLADVW 0x001000000000ULL /* N PHY ML ADV workaround (rev >= 13 only) */ |
298 | #define B43_HF_PR45960W 0x080000000000ULL /* PR 45960 workaround (rev >= 13 only) */ | 299 | #define B43_HF_PR45960W 0x080000000000ULL /* PR 45960 workaround (rev >= 13 only) */ |
299 | 300 | ||
301 | /* Firmware capabilities field in SHM (Opensource firmware only) */ | ||
302 | #define B43_FWCAPA_HWCRYPTO 0x0001 | ||
303 | #define B43_FWCAPA_QOS 0x0002 | ||
304 | |||
300 | /* MacFilter offsets. */ | 305 | /* MacFilter offsets. */ |
301 | #define B43_MACFILTER_SELF 0x0000 | 306 | #define B43_MACFILTER_SELF 0x0000 |
302 | #define B43_MACFILTER_BSSID 0x0003 | 307 | #define B43_MACFILTER_BSSID 0x0003 |
@@ -596,6 +601,13 @@ struct b43_wl { | |||
596 | /* Pointer to the ieee80211 hardware data structure */ | 601 | /* Pointer to the ieee80211 hardware data structure */ |
597 | struct ieee80211_hw *hw; | 602 | struct ieee80211_hw *hw; |
598 | 603 | ||
604 | /* The number of queues that were registered with the mac80211 subsystem | ||
605 | * initially. This is a backup copy of hw->queues in case hw->queues has | ||
606 | * to be dynamically lowered at runtime (Firmware does not support QoS). | ||
607 | * hw->queues has to be restored to the original value before unregistering | ||
608 | * from the mac80211 subsystem. */ | ||
609 | u16 mac80211_initially_registered_queues; | ||
610 | |||
599 | struct mutex mutex; | 611 | struct mutex mutex; |
600 | spinlock_t irq_lock; | 612 | spinlock_t irq_lock; |
601 | /* R/W lock for data transmission. | 613 | /* R/W lock for data transmission. |
@@ -749,6 +761,8 @@ struct b43_wldev { | |||
749 | bool dfq_valid; /* Directed frame queue valid (IBSS PS mode, ATIM) */ | 761 | bool dfq_valid; /* Directed frame queue valid (IBSS PS mode, ATIM) */ |
750 | bool radio_hw_enable; /* saved state of radio hardware enabled state */ | 762 | bool radio_hw_enable; /* saved state of radio hardware enabled state */ |
751 | bool suspend_in_progress; /* TRUE, if we are in a suspend/resume cycle */ | 763 | bool suspend_in_progress; /* TRUE, if we are in a suspend/resume cycle */ |
764 | bool qos_enabled; /* TRUE, if QoS is used. */ | ||
765 | bool hwcrypto_enabled; /* TRUE, if HW crypto acceleration is enabled. */ | ||
752 | 766 | ||
753 | /* PHY/Radio device. */ | 767 | /* PHY/Radio device. */ |
754 | struct b43_phy phy; | 768 | struct b43_phy phy; |