aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2008-04-16 19:34:47 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-05-07 15:02:10 -0400
commitf0832f137c21d130998a0f97f97ac01a2d97210b (patch)
tree6b9af836baa6133caaf4aebe3717719c9cbb7725 /drivers/net/wireless/iwlwifi/iwl4965-base.c
parenta7ca0268b5dfffcaa8a1fe40c6eccdeac50fa3ea (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.c18
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
55static int iwl4965_tx_queue_update_write_ptr(struct iwl_priv *priv, 56static 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;