iwlagn: PAPD read for 2000 series devices
authorWey-Yi Guy <wey-yi.w.guy@intel.com>
Fri, 1 Apr 2011 20:20:44 +0000 (13:20 -0700)
committerWey-Yi Guy <wey-yi.w.guy@intel.com>
Fri, 8 Apr 2011 15:00:11 +0000 (08:00 -0700)
For 2000 series NICs, disable OTP refresh in order to read correct
PAPD table from high OTP block

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
drivers/net/wireless/iwlwifi/iwl-2000.c
drivers/net/wireless/iwlwifi/iwl-core.h

index e73ac80a721e3d3871983eba33887e67398e67d2..86d7ffd6e38b69b29311e88837c55ea2a3c42c37 100644 (file)
@@ -98,6 +98,8 @@ static void iwl2000_nic_config(struct iwl_priv *priv)
                iwl_set_bit(priv, CSR_GP_DRIVER_REG,
                            CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER);
 
+       if (priv->cfg->disable_otp_refresh)
+               iwl_write_prph(priv, APMG_ANALOG_SVR_REG, 0x80000010);
 }
 
 static struct iwl_sensitivity_ranges iwl2000_sensitivity = {
@@ -409,7 +411,8 @@ static struct iwl_bt_params iwl2030_bt_params = {
        .need_dc_calib = true,                                  \
        .need_temp_offset_calib = true,                         \
        .led_mode = IWL_LED_RF_STATE,                           \
-       .iq_invert = true                                       \
+       .iq_invert = true,                                      \
+       .disable_otp_refresh = true                             \
 
 struct iwl_cfg iwl2000_2bgn_cfg = {
        .name = "2000 Series 2x2 BGN",
index 43d4c92268e787fc3696c53fc8922bc830e0f65f..10a6f856356a77276bb09855b40dd49c07b1e0cf 100644 (file)
@@ -331,6 +331,7 @@ struct iwl_ht_params {
  * @rx_with_siso_diversity: 1x1 device with rx antenna diversity
  * @internal_wimax_coex: internal wifi/wimax combo device
  * @iq_invert: I/Q inversion
+ * @disable_otp_refresh: disable OTP refresh current limit
  *
  * We enable the driver to be backward compatible wrt API version. The
  * driver specifies which APIs it supports (with @ucode_api_max being the
@@ -381,6 +382,7 @@ struct iwl_cfg {
        const bool rx_with_siso_diversity;
        const bool internal_wimax_coex;
        const bool iq_invert;
+       const bool disable_otp_refresh;
 };
 
 /***************************