diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2011-08-26 02:11:24 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-29 15:30:32 -0400 |
commit | e13c0c59e0ec38558ac853d56555e915b4dc7dc2 (patch) | |
tree | dba6f63fa8da99af7375cc4eeaab05ff586e28b7 /drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h | |
parent | dfa2bdbab70901ddda3ec41f2e55f8396af9095f (diff) |
iwlagn: move the mapping ac to queue / fifo to transport
This mapping is transport related.
This allows us to remove the notion of tx queue from the tx path in
the upper layer.
iwl_wake_any_queue moved to transport layer since it needs to access
these mappings.
The TX API is nicer now:
int (*tx)(struct iwl_trans *trans, struct sk_buff *skb,
struct iwl_device_cmd *dev_cmd, u8 ctx, u8 sta_id);
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@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-int-pcie.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h b/drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h index f443c106291a..d73ebefa7d05 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h +++ b/drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h | |||
@@ -107,6 +107,13 @@ struct iwl_dma_ptr { | |||
107 | size_t size; | 107 | size_t size; |
108 | }; | 108 | }; |
109 | 109 | ||
110 | /* | ||
111 | * This queue number is required for proper operation | ||
112 | * because the ucode will stop/start the scheduler as | ||
113 | * required. | ||
114 | */ | ||
115 | #define IWL_IPAN_MCAST_QUEUE 8 | ||
116 | |||
110 | /** | 117 | /** |
111 | * struct iwl_trans_pcie - PCIe transport specific data | 118 | * struct iwl_trans_pcie - PCIe transport specific data |
112 | * @rxq: all the RX queue data | 119 | * @rxq: all the RX queue data |
@@ -115,6 +122,9 @@ struct iwl_dma_ptr { | |||
115 | * @scd_base_addr: scheduler sram base address in SRAM | 122 | * @scd_base_addr: scheduler sram base address in SRAM |
116 | * @scd_bc_tbls: pointer to the byte count table of the scheduler | 123 | * @scd_bc_tbls: pointer to the byte count table of the scheduler |
117 | * @kw: keep warm address | 124 | * @kw: keep warm address |
125 | * @ac_to_fifo: to what fifo is a specifc AC mapped ? | ||
126 | * @ac_to_queue: to what tx queue is a specifc AC mapped ? | ||
127 | * @mcast_queue: | ||
118 | */ | 128 | */ |
119 | struct iwl_trans_pcie { | 129 | struct iwl_trans_pcie { |
120 | struct iwl_rx_queue rxq; | 130 | struct iwl_rx_queue rxq; |
@@ -136,6 +146,10 @@ struct iwl_trans_pcie { | |||
136 | u32 scd_base_addr; | 146 | u32 scd_base_addr; |
137 | struct iwl_dma_ptr scd_bc_tbls; | 147 | struct iwl_dma_ptr scd_bc_tbls; |
138 | struct iwl_dma_ptr kw; | 148 | struct iwl_dma_ptr kw; |
149 | |||
150 | const u8 *ac_to_fifo[NUM_IWL_RXON_CTX]; | ||
151 | const u8 *ac_to_queue[NUM_IWL_RXON_CTX]; | ||
152 | u8 mcast_queue[NUM_IWL_RXON_CTX]; | ||
139 | }; | 153 | }; |
140 | 154 | ||
141 | #define IWL_TRANS_GET_PCIE_TRANS(_iwl_trans) \ | 155 | #define IWL_TRANS_GET_PCIE_TRANS(_iwl_trans) \ |