Commit dada03ca authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by Johannes Berg

iwlwifi: disable early power Off reset for all NICs

This feature needs to be disabled for all NICs.
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent eb647644
...@@ -250,17 +250,6 @@ struct iwl_lib_ops iwl2030_lib = { ...@@ -250,17 +250,6 @@ struct iwl_lib_ops iwl2030_lib = {
*/ */
/* NIC configuration for 5000 series */ /* NIC configuration for 5000 series */
static void iwl5000_nic_config(struct iwl_priv *priv)
{
/* W/A : NIC is stuck in a reset state after Early PCIe power off
* (PCIe power is lost before PERST# is asserted),
* causing ME FW to lose ownership and not being able to obtain it back.
*/
iwl_set_bits_mask_prph(priv->trans, APMG_PS_CTRL_REG,
APMG_PS_CTRL_EARLY_PWR_OFF_RESET_DIS,
~APMG_PS_CTRL_EARLY_PWR_OFF_RESET_DIS);
}
static const struct iwl_sensitivity_ranges iwl5000_sensitivity = { static const struct iwl_sensitivity_ranges iwl5000_sensitivity = {
.min_nrg_cck = 100, .min_nrg_cck = 100,
.auto_corr_min_ofdm = 90, .auto_corr_min_ofdm = 90,
...@@ -433,14 +422,12 @@ static int iwl5000_hw_channel_switch(struct iwl_priv *priv, ...@@ -433,14 +422,12 @@ static int iwl5000_hw_channel_switch(struct iwl_priv *priv,
struct iwl_lib_ops iwl5000_lib = { struct iwl_lib_ops iwl5000_lib = {
.set_hw_params = iwl5000_hw_set_hw_params, .set_hw_params = iwl5000_hw_set_hw_params,
.set_channel_switch = iwl5000_hw_channel_switch, .set_channel_switch = iwl5000_hw_channel_switch,
.nic_config = iwl5000_nic_config,
.temperature = iwlagn_temperature, .temperature = iwlagn_temperature,
}; };
struct iwl_lib_ops iwl5150_lib = { struct iwl_lib_ops iwl5150_lib = {
.set_hw_params = iwl5150_hw_set_hw_params, .set_hw_params = iwl5150_hw_set_hw_params,
.set_channel_switch = iwl5000_hw_channel_switch, .set_channel_switch = iwl5000_hw_channel_switch,
.nic_config = iwl5000_nic_config,
.temperature = iwl5150_temperature, .temperature = iwl5150_temperature,
}; };
......
...@@ -51,11 +51,13 @@ ...@@ -51,11 +51,13 @@
#include "iwl-op-mode.h" #include "iwl-op-mode.h"
#include "iwl-drv.h" #include "iwl-drv.h"
#include "iwl-modparams.h" #include "iwl-modparams.h"
#include "iwl-prph.h"
#include "dev.h" #include "dev.h"
#include "calib.h" #include "calib.h"
#include "agn.h" #include "agn.h"
/****************************************************************************** /******************************************************************************
* *
* module boiler plate * module boiler plate
...@@ -2076,7 +2078,16 @@ static void iwl_nic_config(struct iwl_op_mode *op_mode) ...@@ -2076,7 +2078,16 @@ static void iwl_nic_config(struct iwl_op_mode *op_mode)
CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI | CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI |
CSR_HW_IF_CONFIG_REG_BIT_MAC_SI); CSR_HW_IF_CONFIG_REG_BIT_MAC_SI);
priv->lib->nic_config(priv); /* W/A : NIC is stuck in a reset state after Early PCIe power off
* (PCIe power is lost before PERST# is asserted),
* causing ME FW to lose ownership and not being able to obtain it back.
*/
iwl_set_bits_mask_prph(priv->trans, APMG_PS_CTRL_REG,
APMG_PS_CTRL_EARLY_PWR_OFF_RESET_DIS,
~APMG_PS_CTRL_EARLY_PWR_OFF_RESET_DIS);
if (priv->lib->nic_config)
priv->lib->nic_config(priv);
} }
static void iwl_wimax_active(struct iwl_op_mode *op_mode) static void iwl_wimax_active(struct iwl_op_mode *op_mode)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment