aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-calib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-calib.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-calib.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-calib.c b/drivers/net/wireless/iwlwifi/iwl-calib.c
index 1289d4c91abe..a6c7f0d9a414 100644
--- a/drivers/net/wireless/iwlwifi/iwl-calib.c
+++ b/drivers/net/wireless/iwlwifi/iwl-calib.c
@@ -426,6 +426,9 @@ void iwl_init_sensitivity(struct iwl_priv *priv)
426 struct iwl_sensitivity_data *data = NULL; 426 struct iwl_sensitivity_data *data = NULL;
427 const struct iwl_sensitivity_ranges *ranges = priv->hw_params.sens; 427 const struct iwl_sensitivity_ranges *ranges = priv->hw_params.sens;
428 428
429 if (priv->disable_sens_cal)
430 return;
431
429 IWL_DEBUG_CALIB("Start iwl_init_sensitivity\n"); 432 IWL_DEBUG_CALIB("Start iwl_init_sensitivity\n");
430 433
431 /* Clear driver's sensitivity algo data */ 434 /* Clear driver's sensitivity algo data */
@@ -486,6 +489,9 @@ void iwl_sensitivity_calibration(struct iwl_priv *priv,
486 unsigned long flags; 489 unsigned long flags;
487 struct statistics_general_data statis; 490 struct statistics_general_data statis;
488 491
492 if (priv->disable_sens_cal)
493 return;
494
489 data = &(priv->sensitivity_data); 495 data = &(priv->sensitivity_data);
490 496
491 if (!iwl_is_associated(priv)) { 497 if (!iwl_is_associated(priv)) {
@@ -608,6 +614,9 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv,
608 unsigned long flags; 614 unsigned long flags;
609 struct statistics_rx_non_phy *rx_info = &(stat_resp->rx.general); 615 struct statistics_rx_non_phy *rx_info = &(stat_resp->rx.general);
610 616
617 if (priv->disable_chain_noise_cal)
618 return;
619
611 data = &(priv->chain_noise_data); 620 data = &(priv->chain_noise_data);
612 621
613 /* Accumulate just the first 20 beacons after the first association, 622 /* Accumulate just the first 20 beacons after the first association,
@@ -777,3 +786,21 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv,
777} 786}
778EXPORT_SYMBOL(iwl_chain_noise_calibration); 787EXPORT_SYMBOL(iwl_chain_noise_calibration);
779 788
789
790void iwl_reset_run_time_calib(struct iwl_priv *priv)
791{
792 int i;
793 memset(&(priv->sensitivity_data), 0,
794 sizeof(struct iwl_sensitivity_data));
795 memset(&(priv->chain_noise_data), 0,
796 sizeof(struct iwl_chain_noise_data));
797 for (i = 0; i < NUM_RX_CHAINS; i++)
798 priv->chain_noise_data.delta_gain_code[i] =
799 CHAIN_NOISE_DELTA_GAIN_INIT_VAL;
800
801 /* Ask for statistics now, the uCode will send notification
802 * periodically after association */
803 iwl_send_statistics_request(priv, CMD_ASYNC);
804}
805EXPORT_SYMBOL(iwl_reset_run_time_calib);
806