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.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index fe8b9dae4dee..33aa2e39147b 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1041,6 +1041,13 @@ enum ieee80211_tkip_key_type {
1041 * @IEEE80211_HW_NEED_DTIM_PERIOD: 1041 * @IEEE80211_HW_NEED_DTIM_PERIOD:
1042 * This device needs to know the DTIM period for the BSS before 1042 * This device needs to know the DTIM period for the BSS before
1043 * associating. 1043 * associating.
1044 *
1045 * @IEEE80211_HW_SUPPORTS_PER_STA_GTK: The device's crypto engine supports
1046 * per-station GTKs as used by IBSS RSN or during fast transition. If
1047 * the device doesn't support per-station GTKs, but can be asked not
1048 * to decrypt group addressed frames, then IBSS RSN support is still
1049 * possible but software crypto will be used. Advertise the wiphy flag
1050 * only in that case.
1044 */ 1051 */
1045enum ieee80211_hw_flags { 1052enum ieee80211_hw_flags {
1046 IEEE80211_HW_HAS_RATE_CONTROL = 1<<0, 1053 IEEE80211_HW_HAS_RATE_CONTROL = 1<<0,
@@ -1064,6 +1071,7 @@ enum ieee80211_hw_flags {
1064 IEEE80211_HW_REPORTS_TX_ACK_STATUS = 1<<18, 1071 IEEE80211_HW_REPORTS_TX_ACK_STATUS = 1<<18,
1065 IEEE80211_HW_CONNECTION_MONITOR = 1<<19, 1072 IEEE80211_HW_CONNECTION_MONITOR = 1<<19,
1066 IEEE80211_HW_SUPPORTS_CQM_RSSI = 1<<20, 1073 IEEE80211_HW_SUPPORTS_CQM_RSSI = 1<<20,
1074 IEEE80211_HW_SUPPORTS_PER_STA_GTK = 1<<21,
1067}; 1075};
1068 1076
1069/** 1077/**
@@ -1109,7 +1117,10 @@ enum ieee80211_hw_flags {
1109 * @sta_data_size: size (in bytes) of the drv_priv data area 1117 * @sta_data_size: size (in bytes) of the drv_priv data area
1110 * within &struct ieee80211_sta. 1118 * within &struct ieee80211_sta.
1111 * 1119 *
1112 * @max_rates: maximum number of alternate rate retry stages 1120 * @max_rates: maximum number of alternate rate retry stages the hw
1121 * can handle.
1122 * @max_report_rates: maximum number of alternate rate retry stages
1123 * the hw can report back.
1113 * @max_rate_tries: maximum number of tries for each stage 1124 * @max_rate_tries: maximum number of tries for each stage
1114 * 1125 *
1115 * @napi_weight: weight used for NAPI polling. You must specify an 1126 * @napi_weight: weight used for NAPI polling. You must specify an
@@ -1131,6 +1142,7 @@ struct ieee80211_hw {
1131 u16 max_listen_interval; 1142 u16 max_listen_interval;
1132 s8 max_signal; 1143 s8 max_signal;
1133 u8 max_rates; 1144 u8 max_rates;
1145 u8 max_report_rates;
1134 u8 max_rate_tries; 1146 u8 max_rate_tries;
1135}; 1147};
1136 1148
@@ -2578,6 +2590,22 @@ void ieee80211_chswitch_done(struct ieee80211_vif *vif, bool success);
2578void ieee80211_request_smps(struct ieee80211_vif *vif, 2590void ieee80211_request_smps(struct ieee80211_vif *vif,
2579 enum ieee80211_smps_mode smps_mode); 2591 enum ieee80211_smps_mode smps_mode);
2580 2592
2593/**
2594 * ieee80211_key_removed - disable hw acceleration for key
2595 * @key_conf: The key hw acceleration should be disabled for
2596 *
2597 * This allows drivers to indicate that the given key has been
2598 * removed from hardware acceleration, due to a new key that
2599 * was added. Don't use this if the key can continue to be used
2600 * for TX, if the key restriction is on RX only it is permitted
2601 * to keep the key for TX only and not call this function.
2602 *
2603 * Due to locking constraints, it may only be called during
2604 * @set_key. This function must be allowed to sleep, and the
2605 * key it tries to disable may still be used until it returns.
2606 */
2607void ieee80211_key_removed(struct ieee80211_key_conf *key_conf);
2608
2581/* Rate control API */ 2609/* Rate control API */
2582 2610
2583/** 2611/**