aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-6000.c
diff options
context:
space:
mode:
authorShanyu Zhao <shanyu.zhao@intel.com>2010-09-21 19:54:01 -0400
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2010-10-07 18:53:58 -0400
commitbf53f939e02c0e818df93ab130fedc0e4ba95796 (patch)
treee7606844f9f0404ad200a88362125ccbcc5f7727 /drivers/net/wireless/iwlwifi/iwl-6000.c
parent642454cc0774e0774bc1ccb4292d6dc0abd06d20 (diff)
iwlagn: add temperature offset calib for 6000g2
6000g2 devices need to have temperature offset calibration. The runtime uCode needs to receive the calibration results just like BB and LO calibration. To do this, driver reads the offset value from NVM and send it to uCode after runtime uCode is alive. Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-6000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index a45929ef22ec..4810258aefd9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -204,6 +204,8 @@ static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)
204 BIT(IWL_CALIB_BASE_BAND); 204 BIT(IWL_CALIB_BASE_BAND);
205 if (priv->cfg->need_dc_calib) 205 if (priv->cfg->need_dc_calib)
206 priv->hw_params.calib_rt_cfg |= BIT(IWL_CALIB_CFG_DC_IDX); 206 priv->hw_params.calib_rt_cfg |= BIT(IWL_CALIB_CFG_DC_IDX);
207 if (priv->cfg->need_temp_offset_calib)
208 priv->hw_params.calib_init_cfg |= BIT(IWL_CALIB_TEMP_OFFSET);
207 209
208 priv->hw_params.beacon_time_tsf_bits = IWLAGN_EXT_BEACON_TIME_POS; 210 priv->hw_params.beacon_time_tsf_bits = IWLAGN_EXT_BEACON_TIME_POS;
209 211
@@ -536,6 +538,7 @@ struct iwl_cfg iwl6000g2a_2agn_cfg = {
536 .base_params = &iwl6000_base_params, 538 .base_params = &iwl6000_base_params,
537 .ht_params = &iwl6000_ht_params, 539 .ht_params = &iwl6000_ht_params,
538 .need_dc_calib = true, 540 .need_dc_calib = true,
541 .need_temp_offset_calib = true,
539}; 542};
540 543
541struct iwl_cfg iwl6000g2a_2abg_cfg = { 544struct iwl_cfg iwl6000g2a_2abg_cfg = {
@@ -552,6 +555,7 @@ struct iwl_cfg iwl6000g2a_2abg_cfg = {
552 .mod_params = &iwlagn_mod_params, 555 .mod_params = &iwlagn_mod_params,
553 .base_params = &iwl6000_base_params, 556 .base_params = &iwl6000_base_params,
554 .need_dc_calib = true, 557 .need_dc_calib = true,
558 .need_temp_offset_calib = true,
555}; 559};
556 560
557struct iwl_cfg iwl6000g2a_2bg_cfg = { 561struct iwl_cfg iwl6000g2a_2bg_cfg = {
@@ -568,6 +572,7 @@ struct iwl_cfg iwl6000g2a_2bg_cfg = {
568 .mod_params = &iwlagn_mod_params, 572 .mod_params = &iwlagn_mod_params,
569 .base_params = &iwl6000_base_params, 573 .base_params = &iwl6000_base_params,
570 .need_dc_calib = true, 574 .need_dc_calib = true,
575 .need_temp_offset_calib = true,
571}; 576};
572 577
573struct iwl_cfg iwl6000g2b_2agn_cfg = { 578struct iwl_cfg iwl6000g2b_2agn_cfg = {
@@ -586,6 +591,7 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = {
586 .bt_params = &iwl6000_bt_params, 591 .bt_params = &iwl6000_bt_params,
587 .ht_params = &iwl6000_ht_params, 592 .ht_params = &iwl6000_ht_params,
588 .need_dc_calib = true, 593 .need_dc_calib = true,
594 .need_temp_offset_calib = true,
589 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 595 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
590 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 596 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
591}; 597};
@@ -605,6 +611,7 @@ struct iwl_cfg iwl6000g2b_2abg_cfg = {
605 .base_params = &iwl6000_base_params, 611 .base_params = &iwl6000_base_params,
606 .bt_params = &iwl6000_bt_params, 612 .bt_params = &iwl6000_bt_params,
607 .need_dc_calib = true, 613 .need_dc_calib = true,
614 .need_temp_offset_calib = true,
608 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 615 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
609 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 616 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
610}; 617};
@@ -625,6 +632,7 @@ struct iwl_cfg iwl6000g2b_2bgn_cfg = {
625 .bt_params = &iwl6000_bt_params, 632 .bt_params = &iwl6000_bt_params,
626 .ht_params = &iwl6000_ht_params, 633 .ht_params = &iwl6000_ht_params,
627 .need_dc_calib = true, 634 .need_dc_calib = true,
635 .need_temp_offset_calib = true,
628 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 636 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
629 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 637 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
630}; 638};
@@ -644,6 +652,7 @@ struct iwl_cfg iwl6000g2b_2bg_cfg = {
644 .base_params = &iwl6000_base_params, 652 .base_params = &iwl6000_base_params,
645 .bt_params = &iwl6000_bt_params, 653 .bt_params = &iwl6000_bt_params,
646 .need_dc_calib = true, 654 .need_dc_calib = true,
655 .need_temp_offset_calib = true,
647 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 656 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
648 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 657 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
649}; 658};
@@ -664,6 +673,7 @@ struct iwl_cfg iwl6000g2b_bgn_cfg = {
664 .bt_params = &iwl6000_bt_params, 673 .bt_params = &iwl6000_bt_params,
665 .ht_params = &iwl6000_ht_params, 674 .ht_params = &iwl6000_ht_params,
666 .need_dc_calib = true, 675 .need_dc_calib = true,
676 .need_temp_offset_calib = true,
667 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 677 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
668 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 678 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
669}; 679};
@@ -683,6 +693,7 @@ struct iwl_cfg iwl6000g2b_bg_cfg = {
683 .base_params = &iwl6000_base_params, 693 .base_params = &iwl6000_base_params,
684 .bt_params = &iwl6000_bt_params, 694 .bt_params = &iwl6000_bt_params,
685 .need_dc_calib = true, 695 .need_dc_calib = true,
696 .need_temp_offset_calib = true,
686 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 697 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
687 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, 698 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
688}; 699};