|
@@ -116,10 +116,6 @@ struct iwl_cfg;
|
|
|
* May sleep
|
|
|
* @rx: Rx notification to the op_mode. rxb is the Rx buffer itself. Cmd is the
|
|
|
* HCMD this Rx responds to. Can't sleep.
|
|
|
- * @napi_add: NAPI initialization. The transport is fully responsible for NAPI,
|
|
|
- * but the higher layers need to know about it (in particular mac80211 to
|
|
|
- * to able to call the right NAPI RX functions); this function is needed
|
|
|
- * to eventually call netif_napi_add() with higher layer involvement.
|
|
|
* @queue_full: notifies that a HW queue is full.
|
|
|
* Must be atomic and called with BH disabled.
|
|
|
* @queue_not_full: notifies that a HW queue is not full any more.
|
|
@@ -148,12 +144,8 @@ struct iwl_op_mode_ops {
|
|
|
const struct iwl_fw *fw,
|
|
|
struct dentry *dbgfs_dir);
|
|
|
void (*stop)(struct iwl_op_mode *op_mode);
|
|
|
- void (*rx)(struct iwl_op_mode *op_mode, struct iwl_rx_cmd_buffer *rxb);
|
|
|
- void (*napi_add)(struct iwl_op_mode *op_mode,
|
|
|
- struct napi_struct *napi,
|
|
|
- struct net_device *napi_dev,
|
|
|
- int (*poll)(struct napi_struct *, int),
|
|
|
- int weight);
|
|
|
+ void (*rx)(struct iwl_op_mode *op_mode, struct napi_struct *napi,
|
|
|
+ struct iwl_rx_cmd_buffer *rxb);
|
|
|
void (*queue_full)(struct iwl_op_mode *op_mode, int queue);
|
|
|
void (*queue_not_full)(struct iwl_op_mode *op_mode, int queue);
|
|
|
bool (*hw_rf_kill)(struct iwl_op_mode *op_mode, bool state);
|
|
@@ -188,9 +180,10 @@ static inline void iwl_op_mode_stop(struct iwl_op_mode *op_mode)
|
|
|
}
|
|
|
|
|
|
static inline void iwl_op_mode_rx(struct iwl_op_mode *op_mode,
|
|
|
+ struct napi_struct *napi,
|
|
|
struct iwl_rx_cmd_buffer *rxb)
|
|
|
{
|
|
|
- return op_mode->ops->rx(op_mode, rxb);
|
|
|
+ return op_mode->ops->rx(op_mode, napi, rxb);
|
|
|
}
|
|
|
|
|
|
static inline void iwl_op_mode_queue_full(struct iwl_op_mode *op_mode,
|
|
@@ -258,15 +251,4 @@ static inline int iwl_op_mode_exit_d0i3(struct iwl_op_mode *op_mode)
|
|
|
return op_mode->ops->exit_d0i3(op_mode);
|
|
|
}
|
|
|
|
|
|
-static inline void iwl_op_mode_napi_add(struct iwl_op_mode *op_mode,
|
|
|
- struct napi_struct *napi,
|
|
|
- struct net_device *napi_dev,
|
|
|
- int (*poll)(struct napi_struct *, int),
|
|
|
- int weight)
|
|
|
-{
|
|
|
- if (!op_mode->ops->napi_add)
|
|
|
- return;
|
|
|
- op_mode->ops->napi_add(op_mode, napi, napi_dev, poll, weight);
|
|
|
-}
|
|
|
-
|
|
|
#endif /* __iwl_op_mode_h__ */
|