diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 43 |
1 files changed, 15 insertions, 28 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 4f0f29dce0aa..86faa413b37d 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -66,10 +66,6 @@ | |||
66 | * | 66 | * |
67 | * Secondly, when the hardware handles fragmentation, the frame handed to | 67 | * Secondly, when the hardware handles fragmentation, the frame handed to |
68 | * the driver from mac80211 is the MSDU, not the MPDU. | 68 | * the driver from mac80211 is the MSDU, not the MPDU. |
69 | * | ||
70 | * Finally, for received frames, the driver is able to indicate that it has | ||
71 | * filled a radiotap header and put that in front of the frame; if it does | ||
72 | * not do so then mac80211 may add this under certain circumstances. | ||
73 | */ | 69 | */ |
74 | 70 | ||
75 | /** | 71 | /** |
@@ -1507,8 +1503,6 @@ struct ieee80211_tx_control { | |||
1507 | * @IEEE80211_HW_CONNECTION_MONITOR: | 1503 | * @IEEE80211_HW_CONNECTION_MONITOR: |
1508 | * The hardware performs its own connection monitoring, including | 1504 | * The hardware performs its own connection monitoring, including |
1509 | * periodic keep-alives to the AP and probing the AP on beacon loss. | 1505 | * periodic keep-alives to the AP and probing the AP on beacon loss. |
1510 | * When this flag is set, signaling beacon-loss will cause an immediate | ||
1511 | * change to disassociated state. | ||
1512 | * | 1506 | * |
1513 | * @IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC: | 1507 | * @IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC: |
1514 | * This device needs to get data from beacon before association (i.e. | 1508 | * This device needs to get data from beacon before association (i.e. |
@@ -1644,10 +1638,6 @@ enum ieee80211_hw_flags { | |||
1644 | * the hw can report back. | 1638 | * the hw can report back. |
1645 | * @max_rate_tries: maximum number of tries for each stage | 1639 | * @max_rate_tries: maximum number of tries for each stage |
1646 | * | 1640 | * |
1647 | * @napi_weight: weight used for NAPI polling. You must specify an | ||
1648 | * appropriate value here if a napi_poll operation is provided | ||
1649 | * by your driver. | ||
1650 | * | ||
1651 | * @max_rx_aggregation_subframes: maximum buffer size (number of | 1641 | * @max_rx_aggregation_subframes: maximum buffer size (number of |
1652 | * sub-frames) to be used for A-MPDU block ack receiver | 1642 | * sub-frames) to be used for A-MPDU block ack receiver |
1653 | * aggregation. | 1643 | * aggregation. |
@@ -1701,7 +1691,6 @@ struct ieee80211_hw { | |||
1701 | int vif_data_size; | 1691 | int vif_data_size; |
1702 | int sta_data_size; | 1692 | int sta_data_size; |
1703 | int chanctx_data_size; | 1693 | int chanctx_data_size; |
1704 | int napi_weight; | ||
1705 | u16 queues; | 1694 | u16 queues; |
1706 | u16 max_listen_interval; | 1695 | u16 max_listen_interval; |
1707 | s8 max_signal; | 1696 | s8 max_signal; |
@@ -2471,6 +2460,7 @@ enum ieee80211_roc_type { | |||
2471 | * This process will continue until sched_scan_stop is called. | 2460 | * This process will continue until sched_scan_stop is called. |
2472 | * | 2461 | * |
2473 | * @sched_scan_stop: Tell the hardware to stop an ongoing scheduled scan. | 2462 | * @sched_scan_stop: Tell the hardware to stop an ongoing scheduled scan. |
2463 | * In this case, ieee80211_sched_scan_stopped() must not be called. | ||
2474 | * | 2464 | * |
2475 | * @sw_scan_start: Notifier function that is called just before a software scan | 2465 | * @sw_scan_start: Notifier function that is called just before a software scan |
2476 | * is started. Can be NULL, if the driver doesn't need this notification. | 2466 | * is started. Can be NULL, if the driver doesn't need this notification. |
@@ -2624,8 +2614,6 @@ enum ieee80211_roc_type { | |||
2624 | * callback. They must then call ieee80211_chswitch_done() to indicate | 2614 | * callback. They must then call ieee80211_chswitch_done() to indicate |
2625 | * completion of the channel switch. | 2615 | * completion of the channel switch. |
2626 | * | 2616 | * |
2627 | * @napi_poll: Poll Rx queue for incoming data frames. | ||
2628 | * | ||
2629 | * @set_antenna: Set antenna configuration (tx_ant, rx_ant) on the device. | 2617 | * @set_antenna: Set antenna configuration (tx_ant, rx_ant) on the device. |
2630 | * Parameters are bitmaps of allowed antennas to use for TX/RX. Drivers may | 2618 | * Parameters are bitmaps of allowed antennas to use for TX/RX. Drivers may |
2631 | * reject TX/RX mask combinations they cannot support by returning -EINVAL | 2619 | * reject TX/RX mask combinations they cannot support by returning -EINVAL |
@@ -2820,7 +2808,7 @@ struct ieee80211_ops { | |||
2820 | struct ieee80211_vif *vif, | 2808 | struct ieee80211_vif *vif, |
2821 | struct cfg80211_sched_scan_request *req, | 2809 | struct cfg80211_sched_scan_request *req, |
2822 | struct ieee80211_sched_scan_ies *ies); | 2810 | struct ieee80211_sched_scan_ies *ies); |
2823 | void (*sched_scan_stop)(struct ieee80211_hw *hw, | 2811 | int (*sched_scan_stop)(struct ieee80211_hw *hw, |
2824 | struct ieee80211_vif *vif); | 2812 | struct ieee80211_vif *vif); |
2825 | void (*sw_scan_start)(struct ieee80211_hw *hw); | 2813 | void (*sw_scan_start)(struct ieee80211_hw *hw); |
2826 | void (*sw_scan_complete)(struct ieee80211_hw *hw); | 2814 | void (*sw_scan_complete)(struct ieee80211_hw *hw); |
@@ -2884,7 +2872,6 @@ struct ieee80211_ops { | |||
2884 | void (*flush)(struct ieee80211_hw *hw, u32 queues, bool drop); | 2872 | void (*flush)(struct ieee80211_hw *hw, u32 queues, bool drop); |
2885 | void (*channel_switch)(struct ieee80211_hw *hw, | 2873 | void (*channel_switch)(struct ieee80211_hw *hw, |
2886 | struct ieee80211_channel_switch *ch_switch); | 2874 | struct ieee80211_channel_switch *ch_switch); |
2887 | int (*napi_poll)(struct ieee80211_hw *hw, int budget); | ||
2888 | int (*set_antenna)(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant); | 2875 | int (*set_antenna)(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant); |
2889 | int (*get_antenna)(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant); | 2876 | int (*get_antenna)(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant); |
2890 | 2877 | ||
@@ -3166,21 +3153,21 @@ void ieee80211_free_hw(struct ieee80211_hw *hw); | |||
3166 | */ | 3153 | */ |
3167 | void ieee80211_restart_hw(struct ieee80211_hw *hw); | 3154 | void ieee80211_restart_hw(struct ieee80211_hw *hw); |
3168 | 3155 | ||
3169 | /** ieee80211_napi_schedule - schedule NAPI poll | 3156 | /** |
3170 | * | 3157 | * ieee80211_napi_add - initialize mac80211 NAPI context |
3171 | * Use this function to schedule NAPI polling on a device. | 3158 | * @hw: the hardware to initialize the NAPI context on |
3172 | * | 3159 | * @napi: the NAPI context to initialize |
3173 | * @hw: the hardware to start polling | 3160 | * @napi_dev: dummy NAPI netdevice, here to not waste the space if the |
3174 | */ | 3161 | * driver doesn't use NAPI |
3175 | void ieee80211_napi_schedule(struct ieee80211_hw *hw); | 3162 | * @poll: poll function |
3176 | 3163 | * @weight: default weight | |
3177 | /** ieee80211_napi_complete - complete NAPI polling | ||
3178 | * | ||
3179 | * Use this function to finish NAPI polling on a device. | ||
3180 | * | 3164 | * |
3181 | * @hw: the hardware to stop polling | 3165 | * See also netif_napi_add(). |
3182 | */ | 3166 | */ |
3183 | void ieee80211_napi_complete(struct ieee80211_hw *hw); | 3167 | void ieee80211_napi_add(struct ieee80211_hw *hw, struct napi_struct *napi, |
3168 | struct net_device *napi_dev, | ||
3169 | int (*poll)(struct napi_struct *, int), | ||
3170 | int weight); | ||
3184 | 3171 | ||
3185 | /** | 3172 | /** |
3186 | * ieee80211_rx - receive frame | 3173 | * ieee80211_rx - receive frame |