diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 49 |
1 files changed, 21 insertions, 28 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 74ccf30fdf8e..314e98173166 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -117,19 +117,6 @@ struct ieee80211_tx_queue_params { | |||
117 | bool uapsd; | 117 | bool uapsd; |
118 | }; | 118 | }; |
119 | 119 | ||
120 | /** | ||
121 | * struct ieee80211_tx_queue_stats - transmit queue statistics | ||
122 | * | ||
123 | * @len: number of packets in queue | ||
124 | * @limit: queue length limit | ||
125 | * @count: number of frames sent | ||
126 | */ | ||
127 | struct ieee80211_tx_queue_stats { | ||
128 | unsigned int len; | ||
129 | unsigned int limit; | ||
130 | unsigned int count; | ||
131 | }; | ||
132 | |||
133 | struct ieee80211_low_level_stats { | 120 | struct ieee80211_low_level_stats { |
134 | unsigned int dot11ACKFailureCount; | 121 | unsigned int dot11ACKFailureCount; |
135 | unsigned int dot11RTSFailureCount; | 122 | unsigned int dot11RTSFailureCount; |
@@ -814,7 +801,7 @@ enum set_key_cmd { | |||
814 | * mac80211, any ieee80211_sta pointer you get access to must | 801 | * mac80211, any ieee80211_sta pointer you get access to must |
815 | * either be protected by rcu_read_lock() explicitly or implicitly, | 802 | * either be protected by rcu_read_lock() explicitly or implicitly, |
816 | * or you must take good care to not use such a pointer after a | 803 | * or you must take good care to not use such a pointer after a |
817 | * call to your sta_notify callback that removed it. | 804 | * call to your sta_remove callback that removed it. |
818 | * | 805 | * |
819 | * @addr: MAC address | 806 | * @addr: MAC address |
820 | * @aid: AID we assigned to the station if we're an AP | 807 | * @aid: AID we assigned to the station if we're an AP |
@@ -840,8 +827,8 @@ struct ieee80211_sta { | |||
840 | * indicates addition and removal of a station to station table, | 827 | * indicates addition and removal of a station to station table, |
841 | * or if a associated station made a power state transition. | 828 | * or if a associated station made a power state transition. |
842 | * | 829 | * |
843 | * @STA_NOTIFY_ADD: a station was added to the station table | 830 | * @STA_NOTIFY_ADD: (DEPRECATED) a station was added to the station table |
844 | * @STA_NOTIFY_REMOVE: a station being removed from the station table | 831 | * @STA_NOTIFY_REMOVE: (DEPRECATED) a station being removed from the station table |
845 | * @STA_NOTIFY_SLEEP: a station is now sleeping | 832 | * @STA_NOTIFY_SLEEP: a station is now sleeping |
846 | * @STA_NOTIFY_AWAKE: a sleeping station woke up | 833 | * @STA_NOTIFY_AWAKE: a sleeping station woke up |
847 | */ | 834 | */ |
@@ -958,6 +945,11 @@ enum ieee80211_tkip_key_type { | |||
958 | * Hardware supports Unscheduled Automatic Power Save Delivery | 945 | * Hardware supports Unscheduled Automatic Power Save Delivery |
959 | * (U-APSD) in managed mode. The mode is configured with | 946 | * (U-APSD) in managed mode. The mode is configured with |
960 | * conf_tx() operation. | 947 | * conf_tx() operation. |
948 | * | ||
949 | * @IEEE80211_HW_REPORTS_TX_ACK_STATUS: | ||
950 | * Hardware can provide ack status reports of Tx frames to | ||
951 | * the stack. | ||
952 | * | ||
961 | */ | 953 | */ |
962 | enum ieee80211_hw_flags { | 954 | enum ieee80211_hw_flags { |
963 | IEEE80211_HW_HAS_RATE_CONTROL = 1<<0, | 955 | IEEE80211_HW_HAS_RATE_CONTROL = 1<<0, |
@@ -978,6 +970,7 @@ enum ieee80211_hw_flags { | |||
978 | IEEE80211_HW_SUPPORTS_STATIC_SMPS = 1<<15, | 970 | IEEE80211_HW_SUPPORTS_STATIC_SMPS = 1<<15, |
979 | IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS = 1<<16, | 971 | IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS = 1<<16, |
980 | IEEE80211_HW_SUPPORTS_UAPSD = 1<<17, | 972 | IEEE80211_HW_SUPPORTS_UAPSD = 1<<17, |
973 | IEEE80211_HW_REPORTS_TX_ACK_STATUS = 1<<18, | ||
981 | }; | 974 | }; |
982 | 975 | ||
983 | /** | 976 | /** |
@@ -1534,22 +1527,20 @@ enum ieee80211_ampdu_mlme_action { | |||
1534 | * @set_rts_threshold: Configuration of RTS threshold (if device needs it) | 1527 | * @set_rts_threshold: Configuration of RTS threshold (if device needs it) |
1535 | * The callback can sleep. | 1528 | * The callback can sleep. |
1536 | * | 1529 | * |
1537 | * @sta_notify: Notifies low level driver about addition, removal or power | 1530 | * @sta_add: Notifies low level driver about addition of an associated station, |
1538 | * state transition of an associated station, AP, IBSS/WDS/mesh peer etc. | 1531 | * AP, IBSS/WDS/mesh peer etc. This callback can sleep. |
1539 | * Must be atomic. | 1532 | * |
1533 | * @sta_remove: Notifies low level driver about removal of an associated | ||
1534 | * station, AP, IBSS/WDS/mesh peer etc. This callback can sleep. | ||
1535 | * | ||
1536 | * @sta_notify: Notifies low level driver about power state transition of an | ||
1537 | * associated station, AP, IBSS/WDS/mesh peer etc. Must be atomic. | ||
1540 | * | 1538 | * |
1541 | * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), | 1539 | * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), |
1542 | * bursting) for a hardware TX queue. | 1540 | * bursting) for a hardware TX queue. |
1543 | * Returns a negative error code on failure. | 1541 | * Returns a negative error code on failure. |
1544 | * The callback can sleep. | 1542 | * The callback can sleep. |
1545 | * | 1543 | * |
1546 | * @get_tx_stats: Get statistics of the current TX queue status. This is used | ||
1547 | * to get number of currently queued packets (queue length), maximum queue | ||
1548 | * size (limit), and total number of packets sent using each TX queue | ||
1549 | * (count). The 'stats' pointer points to an array that has hw->queues | ||
1550 | * items. | ||
1551 | * The callback must be atomic. | ||
1552 | * | ||
1553 | * @get_tsf: Get the current TSF timer value from firmware/hardware. Currently, | 1544 | * @get_tsf: Get the current TSF timer value from firmware/hardware. Currently, |
1554 | * this is only used for IBSS mode BSSID merging and debugging. Is not a | 1545 | * this is only used for IBSS mode BSSID merging and debugging. Is not a |
1555 | * required function. | 1546 | * required function. |
@@ -1635,12 +1626,14 @@ struct ieee80211_ops { | |||
1635 | void (*get_tkip_seq)(struct ieee80211_hw *hw, u8 hw_key_idx, | 1626 | void (*get_tkip_seq)(struct ieee80211_hw *hw, u8 hw_key_idx, |
1636 | u32 *iv32, u16 *iv16); | 1627 | u32 *iv32, u16 *iv16); |
1637 | int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); | 1628 | int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); |
1629 | int (*sta_add)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | ||
1630 | struct ieee80211_sta *sta); | ||
1631 | int (*sta_remove)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | ||
1632 | struct ieee80211_sta *sta); | ||
1638 | void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | 1633 | void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, |
1639 | enum sta_notify_cmd, struct ieee80211_sta *sta); | 1634 | enum sta_notify_cmd, struct ieee80211_sta *sta); |
1640 | int (*conf_tx)(struct ieee80211_hw *hw, u16 queue, | 1635 | int (*conf_tx)(struct ieee80211_hw *hw, u16 queue, |
1641 | const struct ieee80211_tx_queue_params *params); | 1636 | const struct ieee80211_tx_queue_params *params); |
1642 | int (*get_tx_stats)(struct ieee80211_hw *hw, | ||
1643 | struct ieee80211_tx_queue_stats *stats); | ||
1644 | u64 (*get_tsf)(struct ieee80211_hw *hw); | 1637 | u64 (*get_tsf)(struct ieee80211_hw *hw); |
1645 | void (*set_tsf)(struct ieee80211_hw *hw, u64 tsf); | 1638 | void (*set_tsf)(struct ieee80211_hw *hw, u64 tsf); |
1646 | void (*reset_tsf)(struct ieee80211_hw *hw); | 1639 | void (*reset_tsf)(struct ieee80211_hw *hw); |