All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luca Coelho <luca@coelho.fi>
To: kvalo@codeaurora.org
Cc: luca@coelho.fi, linux-wireless@vger.kernel.org
Subject: [PATCH 03/12] iwlwifi: mvm: restrict FW SMPS request
Date: Mon,  2 Aug 2021 17:28:20 +0300	[thread overview]
Message-ID: <iwlwifi.20210802172232.0cdcac5660da.I9ee7956fd4f48399855d1f97728bc58b36caf112@changeid> (raw)
In-Reply-To: <20210802142829.109448-1-luca@coelho.fi>

From: Johannes Berg <johannes.berg@intel.com>

The firmware SMPS request should only be honoured if the
connection is currently with HE and on 160 MHz, so check
that and then potentially reapply any request if the BW
changes.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c |  3 +++
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c      | 11 +++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 3a7f756c4545..b2072e19b5dc 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -2440,6 +2440,9 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
 		IWL_DEBUG_MAC80211(mvm, "arp filter changed\n");
 		iwl_mvm_configure_bcast_filter(mvm);
 	}
+
+	if (changes & BSS_CHANGED_BANDWIDTH)
+		iwl_mvm_apply_fw_smps_request(vif);
 }
 
 static int iwl_mvm_start_ap_ibss(struct ieee80211_hw *hw,
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
index 880cf2042531..564ccfbd15bd 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c
@@ -214,11 +214,14 @@ void iwl_mvm_apply_fw_smps_request(struct ieee80211_vif *vif)
 {
 	struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
 	struct iwl_mvm *mvm = mvmvif->mvm;
+	enum ieee80211_smps_mode mode = IEEE80211_SMPS_AUTOMATIC;
 
-	iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_FW,
-			    mvm->fw_static_smps_request ?
-				IEEE80211_SMPS_STATIC :
-				IEEE80211_SMPS_AUTOMATIC);
+	if (mvm->fw_static_smps_request &&
+	    vif->bss_conf.chandef.width == NL80211_CHAN_WIDTH_160 &&
+	    vif->bss_conf.he_support)
+		mode = IEEE80211_SMPS_STATIC;
+
+	iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_FW, mode);
 }
 
 static void iwl_mvm_intf_dual_chain_req(void *data, u8 *mac,
-- 
2.32.0


  parent reply	other threads:[~2021-08-02 14:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-02 14:28 [PATCH 00/12] iwlwifi: updates intended for v5.15 2021-08-02 part 2 Luca Coelho
2021-08-02 14:28 ` [PATCH 01/12] iwlwifi: mvm: remove trigger EAPOL time event Luca Coelho
2021-08-26 20:33   ` Luca Coelho
2021-08-02 14:28 ` [PATCH 02/12] iwlwifi: mvm: set replay counter on key install Luca Coelho
2021-08-02 14:28 ` Luca Coelho [this message]
2021-08-02 14:28 ` [PATCH 04/12] iwlwifi: pcie: remove spaces from queue names Luca Coelho
2021-08-02 14:28 ` [PATCH 05/12] iwlwifi: mvm: remove check for vif in iwl_mvm_vif_from_mac80211() Luca Coelho
2021-08-02 14:28 ` [PATCH 06/12] iwlwifi: mvm: fix old-style static const declaration Luca Coelho
2021-08-02 14:28 ` [PATCH 07/12] iwlwifi: mvm: fix a memory leak in iwl_mvm_mac_ctxt_beacon_changed Luca Coelho
2021-08-02 14:28 ` [PATCH 08/12] iwlwifi: remove trailing semicolon in macro definition Luca Coelho
2021-08-02 14:28 ` [PATCH 09/12] iwlwifi: use DEFINE_MUTEX() for mutex lock Luca Coelho
2021-08-02 14:28 ` [PATCH 10/12] iwlwifi: mvm: avoid static queue number aliasing Luca Coelho
2021-08-02 14:28 ` [PATCH 11/12] iwlwifi: mvm: clean up number of HW queues Luca Coelho
2021-08-02 14:28 ` [PATCH 12/12] iwlwifi: mvm: treat MMPDUs in iwl_mvm_mac_tx() as bcast Luca Coelho

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=iwlwifi.20210802172232.0cdcac5660da.I9ee7956fd4f48399855d1f97728bc58b36caf112@changeid \
    --to=luca@coelho.fi \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.