aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-trans.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-07-23 13:24:40 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-08 16:04:00 -0400
commit72c04ce0164aad6da5dc7d0b7267a84c60970165 (patch)
tree924b027e1a9e2d06e205d65c96aba005b740c9d5 /drivers/net/wireless/iwlwifi/iwl-trans.c
parent32c254645f90a5a5486788c0deb30531fdb609c2 (diff)
iwlagn: reserve queue 10 for TX during scan dwell
New uCode images will use queue 10 for TX during scan (for P2P offchannel operation scan). We'll bump the API version of those, but before we need to reserve queue 10 and stop using it for aggregation. To simplify the code, always reserve it, we could continue using it on older uCode images but that'd be rather complicated. Also, we'll set it up to map to the right FIFO as needed later, but as we don't use the queue now that doesn't hurt. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.c b/drivers/net/wireless/iwlwifi/iwl-trans.c
index 41f0de914008..3001bfb46e25 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans.c
@@ -750,6 +750,7 @@ static const struct queue_to_fifo_ac iwlagn_default_queue_to_tx_fifo[] = {
750 { IWL_TX_FIFO_UNUSED, IWL_AC_UNSET, }, 750 { IWL_TX_FIFO_UNUSED, IWL_AC_UNSET, },
751 { IWL_TX_FIFO_UNUSED, IWL_AC_UNSET, }, 751 { IWL_TX_FIFO_UNUSED, IWL_AC_UNSET, },
752 { IWL_TX_FIFO_UNUSED, IWL_AC_UNSET, }, 752 { IWL_TX_FIFO_UNUSED, IWL_AC_UNSET, },
753 { IWL_TX_FIFO_UNUSED, IWL_AC_UNSET, },
753}; 754};
754 755
755static const struct queue_to_fifo_ac iwlagn_ipan_queue_to_tx_fifo[] = { 756static const struct queue_to_fifo_ac iwlagn_ipan_queue_to_tx_fifo[] = {
@@ -763,6 +764,7 @@ static const struct queue_to_fifo_ac iwlagn_ipan_queue_to_tx_fifo[] = {
763 { IWL_TX_FIFO_VO_IPAN, IEEE80211_AC_VO, }, 764 { IWL_TX_FIFO_VO_IPAN, IEEE80211_AC_VO, },
764 { IWL_TX_FIFO_BE_IPAN, 2, }, 765 { IWL_TX_FIFO_BE_IPAN, 2, },
765 { IWLAGN_CMD_FIFO_NUM, IWL_AC_UNSET, }, 766 { IWLAGN_CMD_FIFO_NUM, IWL_AC_UNSET, },
767 { IWL_TX_FIFO_AUX, IWL_AC_UNSET, },
766}; 768};
767static void iwl_trans_tx_start(struct iwl_priv *priv) 769static void iwl_trans_tx_start(struct iwl_priv *priv)
768{ 770{
@@ -848,10 +850,12 @@ static void iwl_trans_tx_start(struct iwl_priv *priv)
848 /* reset to 0 to enable all the queue first */ 850 /* reset to 0 to enable all the queue first */
849 priv->txq_ctx_active_msk = 0; 851 priv->txq_ctx_active_msk = 0;
850 852
851 BUILD_BUG_ON(ARRAY_SIZE(iwlagn_default_queue_to_tx_fifo) != 10); 853 BUILD_BUG_ON(ARRAY_SIZE(iwlagn_default_queue_to_tx_fifo) !=
852 BUILD_BUG_ON(ARRAY_SIZE(iwlagn_ipan_queue_to_tx_fifo) != 10); 854 IWLAGN_FIRST_AMPDU_QUEUE);
855 BUILD_BUG_ON(ARRAY_SIZE(iwlagn_ipan_queue_to_tx_fifo) !=
856 IWLAGN_FIRST_AMPDU_QUEUE);
853 857
854 for (i = 0; i < 10; i++) { 858 for (i = 0; i < IWLAGN_FIRST_AMPDU_QUEUE; i++) {
855 int fifo = queue_to_fifo[i].fifo; 859 int fifo = queue_to_fifo[i].fifo;
856 int ac = queue_to_fifo[i].ac; 860 int ac = queue_to_fifo[i].ac;
857 861