|
@@ -1642,10 +1642,6 @@ enum ieee80211_hw_flags {
|
|
|
* the hw can report back.
|
|
|
* @max_rate_tries: maximum number of tries for each stage
|
|
|
*
|
|
|
- * @napi_weight: weight used for NAPI polling. You must specify an
|
|
|
- * appropriate value here if a napi_poll operation is provided
|
|
|
- * by your driver.
|
|
|
- *
|
|
|
* @max_rx_aggregation_subframes: maximum buffer size (number of
|
|
|
* sub-frames) to be used for A-MPDU block ack receiver
|
|
|
* aggregation.
|
|
@@ -1699,7 +1695,6 @@ struct ieee80211_hw {
|
|
|
int vif_data_size;
|
|
|
int sta_data_size;
|
|
|
int chanctx_data_size;
|
|
|
- int napi_weight;
|
|
|
u16 queues;
|
|
|
u16 max_listen_interval;
|
|
|
s8 max_signal;
|
|
@@ -2622,8 +2617,6 @@ enum ieee80211_roc_type {
|
|
|
* callback. They must then call ieee80211_chswitch_done() to indicate
|
|
|
* completion of the channel switch.
|
|
|
*
|
|
|
- * @napi_poll: Poll Rx queue for incoming data frames.
|
|
|
- *
|
|
|
* @set_antenna: Set antenna configuration (tx_ant, rx_ant) on the device.
|
|
|
* Parameters are bitmaps of allowed antennas to use for TX/RX. Drivers may
|
|
|
* reject TX/RX mask combinations they cannot support by returning -EINVAL
|
|
@@ -2882,7 +2875,6 @@ struct ieee80211_ops {
|
|
|
void (*flush)(struct ieee80211_hw *hw, u32 queues, bool drop);
|
|
|
void (*channel_switch)(struct ieee80211_hw *hw,
|
|
|
struct ieee80211_channel_switch *ch_switch);
|
|
|
- int (*napi_poll)(struct ieee80211_hw *hw, int budget);
|
|
|
int (*set_antenna)(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant);
|
|
|
int (*get_antenna)(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant);
|
|
|
|
|
@@ -3164,21 +3156,21 @@ void ieee80211_free_hw(struct ieee80211_hw *hw);
|
|
|
*/
|
|
|
void ieee80211_restart_hw(struct ieee80211_hw *hw);
|
|
|
|
|
|
-/** ieee80211_napi_schedule - schedule NAPI poll
|
|
|
- *
|
|
|
- * Use this function to schedule NAPI polling on a device.
|
|
|
- *
|
|
|
- * @hw: the hardware to start polling
|
|
|
- */
|
|
|
-void ieee80211_napi_schedule(struct ieee80211_hw *hw);
|
|
|
-
|
|
|
-/** ieee80211_napi_complete - complete NAPI polling
|
|
|
- *
|
|
|
- * Use this function to finish NAPI polling on a device.
|
|
|
+/**
|
|
|
+ * ieee80211_napi_add - initialize mac80211 NAPI context
|
|
|
+ * @hw: the hardware to initialize the NAPI context on
|
|
|
+ * @napi: the NAPI context to initialize
|
|
|
+ * @napi_dev: dummy NAPI netdevice, here to not waste the space if the
|
|
|
+ * driver doesn't use NAPI
|
|
|
+ * @poll: poll function
|
|
|
+ * @weight: default weight
|
|
|
*
|
|
|
- * @hw: the hardware to stop polling
|
|
|
+ * See also netif_napi_add().
|
|
|
*/
|
|
|
-void ieee80211_napi_complete(struct ieee80211_hw *hw);
|
|
|
+void ieee80211_napi_add(struct ieee80211_hw *hw, struct napi_struct *napi,
|
|
|
+ struct net_device *napi_dev,
|
|
|
+ int (*poll)(struct napi_struct *, int),
|
|
|
+ int weight);
|
|
|
|
|
|
/**
|
|
|
* ieee80211_rx - receive frame
|