diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2008-04-16 19:34:47 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-07 15:02:10 -0400 |
commit | f0832f137c21d130998a0f97f97ac01a2d97210b (patch) | |
tree | 6b9af836baa6133caaf4aebe3717719c9cbb7725 /drivers/net/wireless/iwlwifi/iwl4965-base.c | |
parent | a7ca0268b5dfffcaa8a1fe40c6eccdeac50fa3ea (diff) |
iwlwifi: HW dependent run time calibration
This patch does several things:
1) rename CONFIG_IWL4965_SENSITIVITY to IWL4965_RUN_TIME_CALIB which is
better semantic
2) move all the run time calibration to a new file: iwl-calib.c
3) simplify the sensitivity calibration flow and make it HW dependent
4) make the chain noise calibration flow HW dependent
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 883b42f7e998..8a68ff4323de 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include "iwl-io.h" | 51 | #include "iwl-io.h" |
52 | #include "iwl-helpers.h" | 52 | #include "iwl-helpers.h" |
53 | #include "iwl-sta.h" | 53 | #include "iwl-sta.h" |
54 | #include "iwl-calib.h" | ||
54 | 55 | ||
55 | static int iwl4965_tx_queue_update_write_ptr(struct iwl_priv *priv, | 56 | static int iwl4965_tx_queue_update_write_ptr(struct iwl_priv *priv, |
56 | struct iwl4965_tx_queue *txq); | 57 | struct iwl4965_tx_queue *txq); |
@@ -795,14 +796,6 @@ static int iwl4965_commit_rxon(struct iwl_priv *priv) | |||
795 | /* station table will be cleared */ | 796 | /* station table will be cleared */ |
796 | priv->assoc_station_added = 0; | 797 | priv->assoc_station_added = 0; |
797 | 798 | ||
798 | #ifdef CONFIG_IWL4965_SENSITIVITY | ||
799 | priv->sensitivity_data.state = IWL_SENS_CALIB_NEED_REINIT; | ||
800 | if (!priv->error_recovering) | ||
801 | priv->start_calib = 0; | ||
802 | |||
803 | iwl4965_init_sensitivity(priv, CMD_ASYNC, 1); | ||
804 | #endif /* CONFIG_IWL4965_SENSITIVITY */ | ||
805 | |||
806 | /* If we are currently associated and the new config requires | 799 | /* If we are currently associated and the new config requires |
807 | * an RXON_ASSOC and the new config wants the associated mask enabled, | 800 | * an RXON_ASSOC and the new config wants the associated mask enabled, |
808 | * we must clear the associated from the active configuration | 801 | * we must clear the associated from the active configuration |
@@ -846,13 +839,10 @@ static int iwl4965_commit_rxon(struct iwl_priv *priv) | |||
846 | 839 | ||
847 | iwlcore_clear_stations_table(priv); | 840 | iwlcore_clear_stations_table(priv); |
848 | 841 | ||
849 | #ifdef CONFIG_IWL4965_SENSITIVITY | ||
850 | if (!priv->error_recovering) | 842 | if (!priv->error_recovering) |
851 | priv->start_calib = 0; | 843 | priv->start_calib = 0; |
852 | 844 | ||
853 | priv->sensitivity_data.state = IWL_SENS_CALIB_NEED_REINIT; | 845 | iwl_init_sensitivity(priv); |
854 | iwl4965_init_sensitivity(priv, CMD_ASYNC, 1); | ||
855 | #endif /* CONFIG_IWL4965_SENSITIVITY */ | ||
856 | 846 | ||
857 | memcpy(active_rxon, &priv->staging_rxon, sizeof(*active_rxon)); | 847 | memcpy(active_rxon, &priv->staging_rxon, sizeof(*active_rxon)); |
858 | 848 | ||
@@ -6040,11 +6030,9 @@ static void iwl4965_post_associate(struct iwl_priv *priv) | |||
6040 | 6030 | ||
6041 | iwl4965_sequence_reset(priv); | 6031 | iwl4965_sequence_reset(priv); |
6042 | 6032 | ||
6043 | #ifdef CONFIG_IWL4965_SENSITIVITY | ||
6044 | /* Enable Rx differential gain and sensitivity calibrations */ | 6033 | /* Enable Rx differential gain and sensitivity calibrations */ |
6045 | iwl4965_chain_noise_reset(priv); | 6034 | iwl_chain_noise_reset(priv); |
6046 | priv->start_calib = 1; | 6035 | priv->start_calib = 1; |
6047 | #endif /* CONFIG_IWL4965_SENSITIVITY */ | ||
6048 | 6036 | ||
6049 | if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS) | 6037 | if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS) |
6050 | priv->assoc_station_added = 1; | 6038 | priv->assoc_station_added = 1; |