All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luca Coelho <luca@coelho.fi>
To: kvalo@codeaurora.org
Cc: linux-wireless@vger.kernel.org
Subject: [PATCH v5.7 6/8] iwlwifi: msix: limit max RX queues for 9000 family
Date: Fri,  3 Apr 2020 11:29:53 +0300	[thread overview]
Message-ID: <iwlwifi.20200403112332.d08b8dd271ee.I8dfe8a7d3a7ac9f0bc9d93e4a03f8165d8c999d2@changeid> (raw)
In-Reply-To: <20200403082955.1126339-1-luca@coelho.fi>

From: Mordechay Goodstein <mordechay.goodstein@intel.com>

There is an issue in the HW DMA engine in the 9000 family of devices
when more than 6 RX queues are used.  The issue is that the FW may
hang when IWL_MVM_RXQ_NSSN_SYNC notifications are sent.

Fix this by limiting the number of RX queues to 6 in the 9000 family
of devices.

Cc: stable@vger.kernel.org
Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/iwl-trans.h  | 1 +
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
index bba527b339b5..ff5f6b67334a 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.h
@@ -316,6 +316,7 @@ static inline void iwl_free_rxb(struct iwl_rx_cmd_buffer *r)
 #define IWL_MGMT_TID		15
 #define IWL_FRAME_LIMIT	64
 #define IWL_MAX_RX_HW_QUEUES	16
+#define IWL_9000_MAX_RX_HW_QUEUES	6
 
 /**
  * enum iwl_wowlan_status - WoWLAN image/device status
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
index e4cbd8daa7c6..e291c60024c2 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
@@ -1625,11 +1625,15 @@ iwl_pcie_set_interrupt_capa(struct pci_dev *pdev,
 	struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
 	int max_irqs, num_irqs, i, ret;
 	u16 pci_cmd;
+	u32 max_rx_queues = IWL_MAX_RX_HW_QUEUES;
 
 	if (!cfg_trans->mq_rx_supported)
 		goto enable_msi;
 
-	max_irqs = min_t(u32, num_online_cpus() + 2, IWL_MAX_RX_HW_QUEUES);
+	if (cfg_trans->device_family <= IWL_DEVICE_FAMILY_9000)
+		max_rx_queues = IWL_9000_MAX_RX_HW_QUEUES;
+
+	max_irqs = min_t(u32, num_online_cpus() + 2, max_rx_queues);
 	for (i = 0; i < max_irqs; i++)
 		trans_pcie->msix_entries[i].entry = i;
 
-- 
2.25.1


  parent reply	other threads:[~2020-04-03  8:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-03  8:29 [PATCH v5.7 0/8] iwlwifi: fixes intended for v5.7 2020-04-03 Luca Coelho
2020-04-03  8:29 ` [PATCH v5.7 1/8] iwlwifi: pcie: actually release queue memory in TVQM Luca Coelho
2020-04-03  8:29 ` [PATCH v5.7 2/8] iwlwifi: mvm: beacon statistics shouldn't go backwards Luca Coelho
2020-04-03  8:29 ` [PATCH v5.7 3/8] iwlwifi: pcie: indicate correct RB size to device Luca Coelho
2020-04-03  8:29 ` [PATCH v5.7 4/8] iwlwifi: mvm: limit maximum queue appropriately Luca Coelho
2020-04-03 14:38   ` Mark Asselstine
2020-04-03 17:10     ` Mark Asselstine
2020-04-04 23:17       ` Mark Asselstine
2020-04-14 11:29       ` Johannes Berg
2020-04-17  6:33         ` Luca Coelho
2020-04-03  8:29 ` [PATCH v5.7 5/8] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation Luca Coelho
2020-04-03  8:29 ` Luca Coelho [this message]
2020-04-17  6:36   ` [PATCH v5.7 6/8] iwlwifi: msix: limit max RX queues for 9000 family Luca Coelho
2020-04-03  8:29 ` [PATCH v5.7 7/8] iwlwifi: mvm: fix inactive TID removal return value usage Luca Coelho
2020-04-03 14:46   ` Mark Asselstine
2020-04-03 18:58     ` Johannes Berg
2020-04-03 19:08       ` Luca Coelho
2020-04-03 21:26         ` Mark Asselstine
2020-04-03  8:29 ` [PATCH v5.7 8/8] iwlwifi: mvm: don't call iwl_mvm_free_inactive_queue() under RCU Luca Coelho
2020-04-03 14:28   ` Mark Asselstine
2020-04-17  6:42     ` Luca Coelho
2020-04-17  7:52     ` Johannes Berg
2020-06-15 14:10   ` Kalle Valo
2020-06-23  8:25   ` Kalle Valo

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.20200403112332.d08b8dd271ee.I8dfe8a7d3a7ac9f0bc9d93e4a03f8165d8c999d2@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.