From: Emmanuel Grumbach <egrumbach@gmail.com>
To: linux-wireless@vger.kernel.org
Cc: Luciano Coelho <luciano.coelho@intel.com>,
Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Subject: [PATCH 06/36] iwlwifi: mvm: reset the temperature when temperature test is disabled
Date: Wed, 3 Sep 2014 22:55:54 +0300 [thread overview]
Message-ID: <1409774184-24665-6-git-send-email-egrumbach@gmail.com> (raw)
In-Reply-To: <540771E5.6080908@gmail.com>
From: Luciano Coelho <luciano.coelho@intel.com>
Since we can't read the actual temperature when the firmware is
running, just set the temperature to 0 when the test is disabled and
disable CT Kill if it was enabled.
Additionally, since we rely on iwl_mvm_tt_handler() to exit CT kill
when in test mode, call iwl_mvm_exit_ctkill() in that function if the
temperature is low again. Also make the iwl_mvm_enter_ctkill() and
iwl_mvm_exit_ctkill() return if called when not necessary anymore
(e.g. when iwl_mvm_exit_ctkill() is called when we're not in CT-kill).
Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
---
drivers/net/wireless/iwlwifi/mvm/debugfs.c | 10 ++++++++++
drivers/net/wireless/iwlwifi/mvm/tt.c | 12 ++++++++++++
2 files changed, 22 insertions(+)
diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
index f7e4488..83e562b 100644
--- a/drivers/net/wireless/iwlwifi/mvm/debugfs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
@@ -296,7 +296,15 @@ static ssize_t iwl_dbgfs_set_nic_temperature_write(struct iwl_mvm *mvm,
mutex_lock(&mvm->mutex);
if (temperature == IWL_MVM_DEBUG_SET_TEMPERATURE_DISABLE) {
+ if (!mvm->temperature_test)
+ goto out;
+
mvm->temperature_test = false;
+ /* Since we can't read the temp while awake, just set
+ * it to zero until we get the next RX stats from the
+ * firmware.
+ */
+ mvm->temperature = 0;
} else {
mvm->temperature_test = true;
mvm->temperature = temperature;
@@ -306,6 +314,8 @@ static ssize_t iwl_dbgfs_set_nic_temperature_write(struct iwl_mvm *mvm,
mvm->temperature);
/* handle the temperature change */
iwl_mvm_tt_handler(mvm);
+
+out:
mutex_unlock(&mvm->mutex);
return count;
diff --git a/drivers/net/wireless/iwlwifi/mvm/tt.c b/drivers/net/wireless/iwlwifi/mvm/tt.c
index 0464599..d31603c 100644
--- a/drivers/net/wireless/iwlwifi/mvm/tt.c
+++ b/drivers/net/wireless/iwlwifi/mvm/tt.c
@@ -314,6 +314,9 @@ static void iwl_mvm_enter_ctkill(struct iwl_mvm *mvm)
{
u32 duration = mvm->thermal_throttle.params->ct_kill_duration;
+ if (test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status))
+ return;
+
IWL_ERR(mvm, "Enter CT Kill\n");
iwl_mvm_set_hw_ctkill_state(mvm, true);
schedule_delayed_work(&mvm->thermal_throttle.ct_kill_exit,
@@ -322,6 +325,9 @@ static void iwl_mvm_enter_ctkill(struct iwl_mvm *mvm)
static void iwl_mvm_exit_ctkill(struct iwl_mvm *mvm)
{
+ if (!test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status))
+ return;
+
IWL_ERR(mvm, "Exit CT Kill\n");
iwl_mvm_set_hw_ctkill_state(mvm, false);
}
@@ -444,6 +450,12 @@ void iwl_mvm_tt_handler(struct iwl_mvm *mvm)
return;
}
+ if (params->support_ct_kill &&
+ temperature <= tt->params->ct_kill_exit) {
+ iwl_mvm_exit_ctkill(mvm);
+ return;
+ }
+
if (params->support_dynamic_smps) {
if (!tt->dynamic_smps &&
temperature >= params->dynamic_smps_entry) {
--
1.9.1
next prev parent reply other threads:[~2014-09-03 19:56 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-03 19:54 pull request: iwlwifi-next 2014-09-03 Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 01/36] iwlwifi: mvm: Add set NIC temperature debug option Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 02/36] iwlwifi: mvm: reduce the AMPDU size in low latency mode Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 03/36] iwlwifi: mvm: use dynamic SMPS for P2P Client Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 04/36] iwlwifi: mvm: add use_ps-poll debugfs power option Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 05/36] iwlwifi: mvm: force protection for P2P Emmanuel Grumbach
2014-09-03 19:55 ` Emmanuel Grumbach [this message]
2014-09-03 19:55 ` [PATCH 07/36] iwlwifi: mvm: don't run automatic checks if CT was caused by debugfs Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 08/36] iwlwifi: mvm: Add marker command 0xcb Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 09/36] iwlwifi: mvm: fix the dump_umac_error_log Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 10/36] iwlwifi: make U-APSD default configurable at compile time Emmanuel Grumbach
2014-09-03 19:55 ` [PATCH 11/36] iwlwifi: mvm: add debugfs entry for ps_disabled Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 12/36] iwlwifi: mvm: disable tx aggregation on low latency vifs Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 13/36] iwlwifi: mvm: clear d0i3 state on recovery Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 14/36] iwlwifi: mvm: re-enable ps when monitor interfaces are removed Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 15/36] iwlwifi: mvm: refactor iwl_mvm_power_set_pm() to spin the ps part off Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 16/36] iwlwifi: mvm: add function to update only ps Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 17/36] iwlwifi: mvm: add option that allows a vif to disable PS Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 18/36] iwlwifi: mvm: wait for TE notif when protecting TDLS session Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 19/36] iwlwifi: consolidate hw scheduler configuration code Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 20/36] iwlwifi: trans: refactor txq_enable arguments Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 21/36] iwlwifi: mvm: enable passive fragmented scan changes Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 22/36] iwlwifi: mvm: add some debugging to quota allocation Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 23/36] iwlwifi: don't export tracepoints unnecessarily Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 24/36] iwlwifi: mvm: fix comment typo Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 25/36] iwlwifi: trans: allow skipping scheduler hardware config Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 26/36] iwlwifi: trans: make aggregation explicit for TX queue handling Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 27/36] iwlwifi: trans: configure the scheduler enable register Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 28/36] iwlwifi: add Intel Mobile Communications copyright Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 29/36] iwlwifi: mvm: set the TX disable bit when doing a chanctx switch Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 30/36] iwlwifi: mvm: correct firmware disassoc command sequence Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 31/36] iwlwifi: mvm: clean up FIFO definitions Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 32/36] iwlwifi: mvm: clarify stop_count, remove transport_stopped Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 33/36] iwlwifi: mvm: use tdls indication from mac80211 Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 34/36] iwlwifi: mvm: use iwl_mvm_mac_get_queues_mask() more Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 35/36] iwlwifi: mvm: clean up broadcast station handling Emmanuel Grumbach
2014-09-03 19:56 ` [PATCH 36/36] iwlwifi: mvm: clean up AUX " Emmanuel Grumbach
2014-09-04 18:05 ` pull request: iwlwifi-next 2014-09-03 John W. Linville
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1409774184-24665-6-git-send-email-egrumbach@gmail.com \
--to=egrumbach@gmail.com \
--cc=emmanuel.grumbach@intel.com \
--cc=linux-wireless@vger.kernel.org \
--cc=luciano.coelho@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).