summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/d3.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2015-07-09 14:17:24 +0300
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2015-08-04 10:17:32 +0300
commit6dfb36c89dc21c2c77a4b8ea48679cbb15d158b4 (patch)
tree78276ed630ee742a572a73e4618453a5aff4e764 /drivers/net/wireless/iwlwifi/mvm/d3.c
parentcdc306b2f604d59bb7fb558fadade195f1eb289e (diff)
downloadop-kernel-dev-6dfb36c89dc21c2c77a4b8ea48679cbb15d158b4.zip
op-kernel-dev-6dfb36c89dc21c2c77a4b8ea48679cbb15d158b4.tar.gz
iwlwifi: call d3_suspend/resume in d0i3 case as well
Some CSR registers have to be configured also in case of suspend/resume with unified image (which doesn't includes reconfiguration flow). Reuse the existing d3_suspend/d3_resume trans ops, while making sure some configurations are a bit different, according to the wowlan type. After this change, we no longer need the special wowlan_d0i3 configurations done in iwl_pci_resume, as they are already being done in the d3_resume op. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/d3.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/d3.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/d3.c b/drivers/net/wireless/iwlwifi/mvm/d3.c
index 68d7218..a85be4e 100644
--- a/drivers/net/wireless/iwlwifi/mvm/d3.c
+++ b/drivers/net/wireless/iwlwifi/mvm/d3.c
@@ -1187,6 +1187,9 @@ int iwl_mvm_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)
mutex_lock(&mvm->d0i3_suspend_mutex);
__set_bit(D0I3_DEFER_WAKEUP, &mvm->d0i3_suspend_flags);
mutex_unlock(&mvm->d0i3_suspend_mutex);
+
+ iwl_trans_d3_suspend(mvm->trans, false);
+
return 0;
}
@@ -1949,6 +1952,9 @@ static int iwl_mvm_resume_d3(struct iwl_mvm *mvm)
static int iwl_mvm_resume_d0i3(struct iwl_mvm *mvm)
{
bool exit_now;
+ enum iwl_d3_status d3_status;
+
+ iwl_trans_d3_resume(mvm->trans, &d3_status, false);
/*
* make sure to clear D0I3_DEFER_WAKEUP before
OpenPOWER on IntegriCloud