aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-op-mode.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-03-15 16:26:52 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-04-09 16:37:22 -0400
commit9eae88fa9a02e31af69a215beaa5e1194da3a5a1 (patch)
tree147ed04cc911430969a4d256a0c41ae33f0a1b06 /drivers/net/wireless/iwlwifi/iwl-op-mode.h
parente56103823716039418d099221dd2059fa7547fbf (diff)
iwlwifi: move queue mapping out of transport
The queue mapping is not only dynamic, it is also dependent on the uCode, as we can already see today with the dual-mode and non-dual-mode being different. Move the queue mapping out of the transport layer and let the higher layer manage it. Part of the transport configuration is how to set up the queues. 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-op-mode.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-op-mode.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-op-mode.h b/drivers/net/wireless/iwlwifi/iwl-op-mode.h
index 6ea4163ff56a..b1fd251e88d5 100644
--- a/drivers/net/wireless/iwlwifi/iwl-op-mode.h
+++ b/drivers/net/wireless/iwlwifi/iwl-op-mode.h
@@ -111,10 +111,10 @@ struct iwl_fw;
111 * @rx: Rx notification to the op_mode. rxb is the Rx buffer itself. Cmd is the 111 * @rx: Rx notification to the op_mode. rxb is the Rx buffer itself. Cmd is the
112 * HCMD the this Rx responds to. 112 * HCMD the this Rx responds to.
113 * Must be atomic. 113 * Must be atomic.
114 * @queue_full: notifies that a HW queue is full. Ac is the ac of the queue 114 * @queue_full: notifies that a HW queue is full.
115 * Must be atomic 115 * Must be atomic
116 * @queue_not_full: notifies that a HW queue is not full any more. 116 * @queue_not_full: notifies that a HW queue is not full any more.
117 * Ac is the ac of the queue. Must be atomic 117 * Must be atomic
118 * @hw_rf_kill:notifies of a change in the HW rf kill switch. True means that 118 * @hw_rf_kill:notifies of a change in the HW rf kill switch. True means that
119 * the radio is killed. Must be atomic. 119 * the radio is killed. Must be atomic.
120 * @free_skb: allows the transport layer to free skbs that haven't been 120 * @free_skb: allows the transport layer to free skbs that haven't been
@@ -132,8 +132,8 @@ struct iwl_op_mode_ops {
132 void (*stop)(struct iwl_op_mode *op_mode); 132 void (*stop)(struct iwl_op_mode *op_mode);
133 int (*rx)(struct iwl_op_mode *op_mode, struct iwl_rx_cmd_buffer *rxb, 133 int (*rx)(struct iwl_op_mode *op_mode, struct iwl_rx_cmd_buffer *rxb,
134 struct iwl_device_cmd *cmd); 134 struct iwl_device_cmd *cmd);
135 void (*queue_full)(struct iwl_op_mode *op_mode, u8 ac); 135 void (*queue_full)(struct iwl_op_mode *op_mode, int queue);
136 void (*queue_not_full)(struct iwl_op_mode *op_mode, u8 ac); 136 void (*queue_not_full)(struct iwl_op_mode *op_mode, int queue);
137 void (*hw_rf_kill)(struct iwl_op_mode *op_mode, bool state); 137 void (*hw_rf_kill)(struct iwl_op_mode *op_mode, bool state);
138 void (*free_skb)(struct iwl_op_mode *op_mode, struct sk_buff *skb); 138 void (*free_skb)(struct iwl_op_mode *op_mode, struct sk_buff *skb);
139 void (*nic_error)(struct iwl_op_mode *op_mode); 139 void (*nic_error)(struct iwl_op_mode *op_mode);
@@ -169,15 +169,16 @@ static inline int iwl_op_mode_rx(struct iwl_op_mode *op_mode,
169 return op_mode->ops->rx(op_mode, rxb, cmd); 169 return op_mode->ops->rx(op_mode, rxb, cmd);
170} 170}
171 171
172static inline void iwl_op_mode_queue_full(struct iwl_op_mode *op_mode, u8 ac) 172static inline void iwl_op_mode_queue_full(struct iwl_op_mode *op_mode,
173 int queue)
173{ 174{
174 op_mode->ops->queue_full(op_mode, ac); 175 op_mode->ops->queue_full(op_mode, queue);
175} 176}
176 177
177static inline void iwl_op_mode_queue_not_full(struct iwl_op_mode *op_mode, 178static inline void iwl_op_mode_queue_not_full(struct iwl_op_mode *op_mode,
178 u8 ac) 179 int queue)
179{ 180{
180 op_mode->ops->queue_not_full(op_mode, ac); 181 op_mode->ops->queue_not_full(op_mode, queue);
181} 182}
182 183
183static inline void iwl_op_mode_hw_rf_kill(struct iwl_op_mode *op_mode, 184static inline void iwl_op_mode_hw_rf_kill(struct iwl_op_mode *op_mode,