aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h55
1 files changed, 53 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h
index a30691a8a85b..4aca5933a65d 100644
--- a/drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h
+++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h
@@ -247,7 +247,7 @@ struct iwl_mvm_keyinfo {
247} __packed; 247} __packed;
248 248
249/** 249/**
250 * struct iwl_mvm_add_sta_cmd - Add / modify a station in the fw's station table 250 * struct iwl_mvm_add_sta_cmd_v5 - Add/modify a station in the fw's sta table.
251 * ( REPLY_ADD_STA = 0x18 ) 251 * ( REPLY_ADD_STA = 0x18 )
252 * @add_modify: 1: modify existing, 0: add new station 252 * @add_modify: 1: modify existing, 0: add new station
253 * @unicast_tx_key_id: unicast tx key id. Relevant only when unicast key sent 253 * @unicast_tx_key_id: unicast tx key id. Relevant only when unicast key sent
@@ -286,7 +286,7 @@ struct iwl_mvm_keyinfo {
286 * ADD_STA sets up the table entry for one station, either creating a new 286 * ADD_STA sets up the table entry for one station, either creating a new
287 * entry, or modifying a pre-existing one. 287 * entry, or modifying a pre-existing one.
288 */ 288 */
289struct iwl_mvm_add_sta_cmd { 289struct iwl_mvm_add_sta_cmd_v5 {
290 u8 add_modify; 290 u8 add_modify;
291 u8 unicast_tx_key_id; 291 u8 unicast_tx_key_id;
292 u8 multicast_tx_key_id; 292 u8 multicast_tx_key_id;
@@ -313,6 +313,57 @@ struct iwl_mvm_add_sta_cmd {
313} __packed; /* ADD_STA_CMD_API_S_VER_5 */ 313} __packed; /* ADD_STA_CMD_API_S_VER_5 */
314 314
315/** 315/**
316 * struct iwl_mvm_add_sta_cmd_v6 - Add / modify a station
317 * VER_6 of this command is quite similar to VER_5 except
318 * exclusion of all fields related to the security key installation.
319 */
320struct iwl_mvm_add_sta_cmd_v6 {
321 u8 add_modify;
322 u8 reserved1;
323 __le16 tid_disable_tx;
324 __le32 mac_id_n_color;
325 u8 addr[ETH_ALEN]; /* _STA_ID_MODIFY_INFO_API_S_VER_1 */
326 __le16 reserved2;
327 u8 sta_id;
328 u8 modify_mask;
329 __le16 reserved3;
330 __le32 station_flags;
331 __le32 station_flags_msk;
332 u8 add_immediate_ba_tid;
333 u8 remove_immediate_ba_tid;
334 __le16 add_immediate_ba_ssn;
335 __le16 sleep_tx_count;
336 __le16 sleep_state_flags;
337 __le16 assoc_id;
338 __le16 beamform_flags;
339 __le32 tfd_queue_msk;
340} __packed; /* ADD_STA_CMD_API_S_VER_6 */
341
342/**
343 * struct iwl_mvm_add_sta_key_cmd - add/modify sta key
344 * ( REPLY_ADD_STA_KEY = 0x17 )
345 * @sta_id: index of station in uCode's station table
346 * @key_offset: key offset in key storage
347 * @key_flags: type %iwl_sta_key_flag
348 * @key: key material data
349 * @key2: key material data
350 * @rx_secur_seq_cnt: RX security sequence counter for the key
351 * @tkip_rx_tsc_byte2: TSC[2] for key mix ph1 detection
352 * @tkip_rx_ttak: 10-byte unicast TKIP TTAK for Rx
353 */
354struct iwl_mvm_add_sta_key_cmd {
355 u8 sta_id;
356 u8 key_offset;
357 __le16 key_flags;
358 u8 key[16];
359 u8 key2[16];
360 u8 rx_secur_seq_cnt[16];
361 u8 tkip_rx_tsc_byte2;
362 u8 reserved;
363 __le16 tkip_rx_ttak[5];
364} __packed; /* ADD_MODIFY_STA_KEY_API_S_VER_1 */
365
366/**
316 * enum iwl_mvm_add_sta_rsp_status - status in the response to ADD_STA command 367 * enum iwl_mvm_add_sta_rsp_status - status in the response to ADD_STA command
317 * @ADD_STA_SUCCESS: operation was executed successfully 368 * @ADD_STA_SUCCESS: operation was executed successfully
318 * @ADD_STA_STATIONS_OVERLOAD: no room left in the fw's station table 369 * @ADD_STA_STATIONS_OVERLOAD: no room left in the fw's station table