diff options
Diffstat (limited to 'drivers/net/wireless/b43/b43.h')
-rw-r--r-- | drivers/net/wireless/b43/b43.h | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h index beaf18d6e8a7..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. |
@@ -625,12 +637,11 @@ struct b43_wl { | |||
625 | /* Stats about the wireless interface */ | 637 | /* Stats about the wireless interface */ |
626 | struct ieee80211_low_level_stats ieee_stats; | 638 | struct ieee80211_low_level_stats ieee_stats; |
627 | 639 | ||
640 | #ifdef CONFIG_B43_HWRNG | ||
628 | struct hwrng rng; | 641 | struct hwrng rng; |
629 | u8 rng_initialized; | 642 | bool rng_initialized; |
630 | char rng_name[30 + 1]; | 643 | char rng_name[30 + 1]; |
631 | 644 | #endif /* CONFIG_B43_HWRNG */ | |
632 | /* The RF-kill button */ | ||
633 | struct b43_rfkill rfkill; | ||
634 | 645 | ||
635 | /* List of all wireless devices on this chip */ | 646 | /* List of all wireless devices on this chip */ |
636 | struct list_head devlist; | 647 | struct list_head devlist; |
@@ -750,6 +761,8 @@ struct b43_wldev { | |||
750 | bool dfq_valid; /* Directed frame queue valid (IBSS PS mode, ATIM) */ | 761 | bool dfq_valid; /* Directed frame queue valid (IBSS PS mode, ATIM) */ |
751 | bool radio_hw_enable; /* saved state of radio hardware enabled state */ | 762 | bool radio_hw_enable; /* saved state of radio hardware enabled state */ |
752 | 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. */ | ||
753 | 766 | ||
754 | /* PHY/Radio device. */ | 767 | /* PHY/Radio device. */ |
755 | struct b43_phy phy; | 768 | struct b43_phy phy; |
@@ -776,8 +789,8 @@ struct b43_wldev { | |||
776 | /* Reason code of the last interrupt. */ | 789 | /* Reason code of the last interrupt. */ |
777 | u32 irq_reason; | 790 | u32 irq_reason; |
778 | u32 dma_reason[6]; | 791 | u32 dma_reason[6]; |
779 | /* saved irq enable/disable state bitfield. */ | 792 | /* The currently active generic-interrupt mask. */ |
780 | u32 irq_savedstate; | 793 | u32 irq_mask; |
781 | /* Link Quality calculation context. */ | 794 | /* Link Quality calculation context. */ |
782 | struct b43_noise_calculation noisecalc; | 795 | struct b43_noise_calculation noisecalc; |
783 | /* if > 0 MAC is suspended. if == 0 MAC is enabled. */ | 796 | /* if > 0 MAC is suspended. if == 0 MAC is enabled. */ |