aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
authorGrumbach, Emmanuel <emmanuel.grumbach@intel.com>2008-09-02 23:26:53 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-09-11 15:53:31 -0400
commit04816448d8b77551834c9ea01e407ef5f0042f0f (patch)
treee3c1e019045e0d275f67f79b32ca3fae5e74c2ae /drivers/net/wireless/iwlwifi/iwl-dev.h
parent12837be1c127e6fba2e3f916a18fc202a9889af2 (diff)
iwlwifi: use the results from disconnected antenna algorithm
This patch makes usage of the results from disconnected antenna alg to know how many antennas are connected. It also synchronizes between the chain noise alg and the W/A that disables power management during association. All the antennas must be enables during the chain noise algorithm. Hence, power management is restored only after the completion of the algorithm. In the future, we will need to update the AP that we don't support MIMO if there is only one antenna connected. We also need to update the rate scaling algorithm. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 7934f56f7292..6e150f678c68 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -699,8 +699,9 @@ enum iwl4965_false_alarm_state {
699 699
700enum iwl4965_chain_noise_state { 700enum iwl4965_chain_noise_state {
701 IWL_CHAIN_NOISE_ALIVE = 0, /* must be 0 */ 701 IWL_CHAIN_NOISE_ALIVE = 0, /* must be 0 */
702 IWL_CHAIN_NOISE_ACCUMULATE = 1, 702 IWL_CHAIN_NOISE_ACCUMULATE,
703 IWL_CHAIN_NOISE_CALIBRATED = 2, 703 IWL_CHAIN_NOISE_CALIBRATED,
704 IWL_CHAIN_NOISE_DONE,
704}; 705};
705 706
706enum iwl4965_calib_enabled_state { 707enum iwl4965_calib_enabled_state {
@@ -758,17 +759,18 @@ struct iwl_sensitivity_data {
758 759
759/* Chain noise (differential Rx gain) calib data */ 760/* Chain noise (differential Rx gain) calib data */
760struct iwl_chain_noise_data { 761struct iwl_chain_noise_data {
761 u8 state; 762 u32 active_chains;
762 u16 beacon_count;
763 u32 chain_noise_a; 763 u32 chain_noise_a;
764 u32 chain_noise_b; 764 u32 chain_noise_b;
765 u32 chain_noise_c; 765 u32 chain_noise_c;
766 u32 chain_signal_a; 766 u32 chain_signal_a;
767 u32 chain_signal_b; 767 u32 chain_signal_b;
768 u32 chain_signal_c; 768 u32 chain_signal_c;
769 u16 beacon_count;
769 u8 disconn_array[NUM_RX_CHAINS]; 770 u8 disconn_array[NUM_RX_CHAINS];
770 u8 delta_gain_code[NUM_RX_CHAINS]; 771 u8 delta_gain_code[NUM_RX_CHAINS];
771 u8 radio_write; 772 u8 radio_write;
773 u8 state;
772}; 774};
773 775
774#define EEPROM_SEM_TIMEOUT 10 /* milliseconds */ 776#define EEPROM_SEM_TIMEOUT 10 /* milliseconds */