diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 30 |
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 | */ |
1045 | enum ieee80211_hw_flags { | 1052 | enum 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); | |||
2578 | void ieee80211_request_smps(struct ieee80211_vif *vif, | 2590 | void 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 | */ | ||
2607 | void ieee80211_key_removed(struct ieee80211_key_conf *key_conf); | ||
2608 | |||
2581 | /* Rate control API */ | 2609 | /* Rate control API */ |
2582 | 2610 | ||
2583 | /** | 2611 | /** |