diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-07-23 13:24:40 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-08 16:04:00 -0400 |
commit | 72c04ce0164aad6da5dc7d0b7267a84c60970165 (patch) | |
tree | 924b027e1a9e2d06e205d65c96aba005b740c9d5 /drivers/net/wireless/iwlwifi/iwl-trans.c | |
parent | 32c254645f90a5a5486788c0deb30531fdb609c2 (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.c | 10 |
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 41f0de91400..3001bfb46e2 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 | ||
755 | static const struct queue_to_fifo_ac iwlagn_ipan_queue_to_tx_fifo[] = { | 756 | static 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 | }; |
767 | static void iwl_trans_tx_start(struct iwl_priv *priv) | 769 | static 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 | ||