aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h43
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 */
3167void ieee80211_restart_hw(struct ieee80211_hw *hw); 3154void 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
3175void 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 */
3183void ieee80211_napi_complete(struct ieee80211_hw *hw); 3167void 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