diff options
Diffstat (limited to 'drivers/net/wireless/iwmc3200wifi/commands.h')
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/commands.h | 94 |
1 files changed, 92 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/commands.h b/drivers/net/wireless/iwmc3200wifi/commands.h index e24d5b633997..3dfd9f0e9003 100644 --- a/drivers/net/wireless/iwmc3200wifi/commands.h +++ b/drivers/net/wireless/iwmc3200wifi/commands.h | |||
@@ -102,7 +102,6 @@ enum { | |||
102 | CFG_SCAN_NUM_PASSIVE_CHAN_PER_PARTIAL_SCAN, | 102 | CFG_SCAN_NUM_PASSIVE_CHAN_PER_PARTIAL_SCAN, |
103 | CFG_TLC_SUPPORTED_TX_HT_RATES, | 103 | CFG_TLC_SUPPORTED_TX_HT_RATES, |
104 | CFG_TLC_SUPPORTED_TX_RATES, | 104 | CFG_TLC_SUPPORTED_TX_RATES, |
105 | CFG_TLC_VALID_ANTENNA, | ||
106 | CFG_TLC_SPATIAL_STREAM_SUPPORTED, | 105 | CFG_TLC_SPATIAL_STREAM_SUPPORTED, |
107 | CFG_TLC_RETRY_PER_RATE, | 106 | CFG_TLC_RETRY_PER_RATE, |
108 | CFG_TLC_RETRY_PER_HT_RATE, | 107 | CFG_TLC_RETRY_PER_HT_RATE, |
@@ -136,6 +135,10 @@ enum { | |||
136 | CFG_TLC_RENEW_ADDBA_DELAY, | 135 | CFG_TLC_RENEW_ADDBA_DELAY, |
137 | CFG_TLC_NUM_OF_MULTISEC_TO_COUN_LOAD, | 136 | CFG_TLC_NUM_OF_MULTISEC_TO_COUN_LOAD, |
138 | CFG_TLC_IS_STABLE_IN_HT, | 137 | CFG_TLC_IS_STABLE_IN_HT, |
138 | CFG_TLC_SR_SIC_1ST_FAIL, | ||
139 | CFG_TLC_SR_SIC_1ST_PASS, | ||
140 | CFG_TLC_SR_SIC_TOTAL_FAIL, | ||
141 | CFG_TLC_SR_SIC_TOTAL_PASS, | ||
139 | CFG_RLC_CHAIN_CTRL, | 142 | CFG_RLC_CHAIN_CTRL, |
140 | CFG_TRK_TABLE_OP_MODE, | 143 | CFG_TRK_TABLE_OP_MODE, |
141 | CFG_TRK_TABLE_RSSI_THRESHOLD, | 144 | CFG_TRK_TABLE_RSSI_THRESHOLD, |
@@ -147,6 +150,58 @@ enum { | |||
147 | CFG_MLME_DBG_NOTIF_BLOCK, | 150 | CFG_MLME_DBG_NOTIF_BLOCK, |
148 | CFG_BT_OFF_BECONS_INTERVALS, | 151 | CFG_BT_OFF_BECONS_INTERVALS, |
149 | CFG_BT_FRAG_DURATION, | 152 | CFG_BT_FRAG_DURATION, |
153 | CFG_ACTIVE_CHAINS, | ||
154 | CFG_CALIB_CTRL, | ||
155 | CFG_CAPABILITY_SUPPORTED_HT_RATES, | ||
156 | CFG_HT_MAC_PARAM_INFO, | ||
157 | CFG_MIMO_PS_MODE, | ||
158 | CFG_HT_DEFAULT_CAPABILIES_INFO, | ||
159 | CFG_LED_SC_RESOLUTION_FACTOR, | ||
160 | CFG_PTAM_ENERGY_CCK_DET_DEFAULT, | ||
161 | CFG_PTAM_CORR40_4_TH_ADD_MIN_MRC_DEFAULT, | ||
162 | CFG_PTAM_CORR40_4_TH_ADD_MIN_DEFAULT, | ||
163 | CFG_PTAM_CORR32_4_TH_ADD_MIN_MRC_DEFAULT, | ||
164 | CFG_PTAM_CORR32_4_TH_ADD_MIN_DEFAULT, | ||
165 | CFG_PTAM_CORR32_1_TH_ADD_MIN_MRC_DEFAULT, | ||
166 | CFG_PTAM_CORR32_1_TH_ADD_MIN_DEFAULT, | ||
167 | CFG_PTAM_ENERGY_CCK_DET_MIN_VAL, | ||
168 | CFG_PTAM_CORR40_4_TH_ADD_MIN_MRC_MIN_VAL, | ||
169 | CFG_PTAM_CORR40_4_TH_ADD_MIN_MIN_VAL, | ||
170 | CFG_PTAM_CORR32_4_TH_ADD_MIN_MRC_MIN_VAL, | ||
171 | CFG_PTAM_CORR32_4_TH_ADD_MIN_MIN_VAL, | ||
172 | CFG_PTAM_CORR32_1_TH_ADD_MIN_MRC_MIN_VAL, | ||
173 | CFG_PTAM_CORR32_1_TH_ADD_MIN_MIN_VAL, | ||
174 | CFG_PTAM_ENERGY_CCK_DET_MAX_VAL, | ||
175 | CFG_PTAM_CORR40_4_TH_ADD_MIN_MRC_MAX_VAL, | ||
176 | CFG_PTAM_CORR40_4_TH_ADD_MIN_MAX_VAL, | ||
177 | CFG_PTAM_CORR32_4_TH_ADD_MIN_MRC_MAX_VAL, | ||
178 | CFG_PTAM_CORR32_4_TH_ADD_MIN_MAX_VAL, | ||
179 | CFG_PTAM_CORR32_1_TH_ADD_MIN_MRC_MAX_VAL, | ||
180 | CFG_PTAM_CORR32_1_TH_ADD_MIN_MAX_VAL, | ||
181 | CFG_PTAM_ENERGY_CCK_DET_STEP_VAL, | ||
182 | CFG_PTAM_CORR40_4_TH_ADD_MIN_MRC_STEP_VAL, | ||
183 | CFG_PTAM_CORR40_4_TH_ADD_MIN_STEP_VAL, | ||
184 | CFG_PTAM_CORR32_4_TH_ADD_MIN_MRC_STEP_VAL, | ||
185 | CFG_PTAM_CORR32_4_TH_ADD_MIN_STEP_VAL, | ||
186 | CFG_PTAM_CORR32_1_TH_ADD_MIN_MRC_STEP_VAL, | ||
187 | CFG_PTAM_CORR32_1_TH_ADD_MIN_STEP_VAL, | ||
188 | CFG_PTAM_LINK_SENS_FA_OFDM_MAX, | ||
189 | CFG_PTAM_LINK_SENS_FA_OFDM_MIN, | ||
190 | CFG_PTAM_LINK_SENS_FA_CCK_MAX, | ||
191 | CFG_PTAM_LINK_SENS_FA_CCK_MIN, | ||
192 | CFG_PTAM_LINK_SENS_NRG_DIFF, | ||
193 | CFG_PTAM_LINK_SENS_NRG_MARGIN, | ||
194 | CFG_PTAM_LINK_SENS_MAX_NUMBER_OF_TIMES_IN_CCK_NO_FA, | ||
195 | CFG_PTAM_LINK_SENS_AUTO_CORR_MAX_TH_CCK, | ||
196 | CFG_AGG_MGG_TID_LOAD_ADDBA_THRESHOLD, | ||
197 | CFG_AGG_MGG_TID_LOAD_DELBA_THRESHOLD, | ||
198 | CFG_AGG_MGG_ADDBA_BUF_SIZE, | ||
199 | CFG_AGG_MGG_ADDBA_INACTIVE_TIMEOUT, | ||
200 | CFG_AGG_MGG_ADDBA_DEBUG_FLAGS, | ||
201 | CFG_SCAN_PERIODIC_RSSI_HIGH_THRESHOLD, | ||
202 | CFG_SCAN_PERIODIC_COEF_RSSI_HIGH, | ||
203 | CFG_11D_ENABLED, | ||
204 | CFG_11H_FEATURE_FLAGS, | ||
150 | 205 | ||
151 | /* <-- LAST --> */ | 206 | /* <-- LAST --> */ |
152 | CFG_TBL_FIX_LAST | 207 | CFG_TBL_FIX_LAST |
@@ -155,7 +210,8 @@ enum { | |||
155 | /* variable size table */ | 210 | /* variable size table */ |
156 | enum { | 211 | enum { |
157 | CFG_NET_ADDR = 0, | 212 | CFG_NET_ADDR = 0, |
158 | CFG_PROFILE, | 213 | CFG_LED_PATTERN_TABLE, |
214 | |||
159 | /* <-- LAST --> */ | 215 | /* <-- LAST --> */ |
160 | CFG_TBL_VAR_LAST | 216 | CFG_TBL_VAR_LAST |
161 | }; | 217 | }; |
@@ -288,6 +344,9 @@ struct iwm_umac_cmd_scan_request { | |||
288 | /* iwm_umac_security.flag is WSC mode on -- bits [2:2] */ | 344 | /* iwm_umac_security.flag is WSC mode on -- bits [2:2] */ |
289 | #define UMAC_SEC_FLG_WSC_ON_POS 2 | 345 | #define UMAC_SEC_FLG_WSC_ON_POS 2 |
290 | #define UMAC_SEC_FLG_WSC_ON_SEED 1 | 346 | #define UMAC_SEC_FLG_WSC_ON_SEED 1 |
347 | #define UMAC_SEC_FLG_WSC_ON_MSK (UMAC_SEC_FLG_WSC_ON_SEED << \ | ||
348 | UMAC_SEC_FLG_WSC_ON_POS) | ||
349 | |||
291 | 350 | ||
292 | /* Legacy profile can use only WEP40 and WEP104 for encryption and | 351 | /* Legacy profile can use only WEP40 and WEP104 for encryption and |
293 | * OPEN or PSK for authentication */ | 352 | * OPEN or PSK for authentication */ |
@@ -382,10 +441,35 @@ struct iwm_umac_tx_key_id { | |||
382 | u8 reserved[3]; | 441 | u8 reserved[3]; |
383 | } __attribute__ ((packed)); | 442 | } __attribute__ ((packed)); |
384 | 443 | ||
444 | struct iwm_umac_pwr_trigger { | ||
445 | struct iwm_umac_wifi_if hdr; | ||
446 | __le32 reseved; | ||
447 | } __attribute__ ((packed)); | ||
448 | |||
385 | struct iwm_umac_cmd_stats_req { | 449 | struct iwm_umac_cmd_stats_req { |
386 | __le32 flags; | 450 | __le32 flags; |
387 | } __attribute__ ((packed)); | 451 | } __attribute__ ((packed)); |
388 | 452 | ||
453 | struct iwm_umac_cmd_stop_resume_tx { | ||
454 | u8 flags; | ||
455 | u8 sta_id; | ||
456 | __le16 stop_resume_tid_msk; | ||
457 | __le16 last_seq_num[IWM_UMAC_TID_NR]; | ||
458 | u16 reserved; | ||
459 | } __attribute__ ((packed)); | ||
460 | |||
461 | #define IWM_CMD_PMKID_ADD 1 | ||
462 | #define IWM_CMD_PMKID_DEL 2 | ||
463 | #define IWM_CMD_PMKID_FLUSH 3 | ||
464 | |||
465 | struct iwm_umac_pmkid_update { | ||
466 | struct iwm_umac_wifi_if hdr; | ||
467 | __le32 command; | ||
468 | u8 bssid[ETH_ALEN]; | ||
469 | __le16 reserved; | ||
470 | u8 pmkid[WLAN_PMKID_LEN]; | ||
471 | } __attribute__ ((packed)); | ||
472 | |||
389 | /* LMAC commands */ | 473 | /* LMAC commands */ |
390 | int iwm_read_mac(struct iwm_priv *iwm, u8 *mac); | 474 | int iwm_read_mac(struct iwm_priv *iwm, u8 *mac); |
391 | int iwm_send_prio_table(struct iwm_priv *iwm); | 475 | int iwm_send_prio_table(struct iwm_priv *iwm); |
@@ -393,6 +477,7 @@ int iwm_send_init_calib_cfg(struct iwm_priv *iwm, u8 calib_requested); | |||
393 | int iwm_send_periodic_calib_cfg(struct iwm_priv *iwm, u8 calib_requested); | 477 | int iwm_send_periodic_calib_cfg(struct iwm_priv *iwm, u8 calib_requested); |
394 | int iwm_send_calib_results(struct iwm_priv *iwm); | 478 | int iwm_send_calib_results(struct iwm_priv *iwm); |
395 | int iwm_store_rxiq_calib_result(struct iwm_priv *iwm); | 479 | int iwm_store_rxiq_calib_result(struct iwm_priv *iwm); |
480 | int iwm_send_ct_kill_cfg(struct iwm_priv *iwm, u8 entry, u8 exit); | ||
396 | 481 | ||
397 | /* UMAC commands */ | 482 | /* UMAC commands */ |
398 | int iwm_send_wifi_if_cmd(struct iwm_priv *iwm, void *payload, u16 payload_size, | 483 | int iwm_send_wifi_if_cmd(struct iwm_priv *iwm, void *payload, u16 payload_size, |
@@ -407,11 +492,16 @@ int iwm_invalidate_mlme_profile(struct iwm_priv *iwm); | |||
407 | int iwm_send_packet(struct iwm_priv *iwm, struct sk_buff *skb, int pool_id); | 492 | int iwm_send_packet(struct iwm_priv *iwm, struct sk_buff *skb, int pool_id); |
408 | int iwm_set_tx_key(struct iwm_priv *iwm, u8 key_idx); | 493 | int iwm_set_tx_key(struct iwm_priv *iwm, u8 key_idx); |
409 | int iwm_set_key(struct iwm_priv *iwm, bool remove, struct iwm_key *key); | 494 | int iwm_set_key(struct iwm_priv *iwm, bool remove, struct iwm_key *key); |
495 | int iwm_tx_power_trigger(struct iwm_priv *iwm); | ||
410 | int iwm_send_umac_stats_req(struct iwm_priv *iwm, u32 flags); | 496 | int iwm_send_umac_stats_req(struct iwm_priv *iwm, u32 flags); |
411 | int iwm_send_umac_channel_list(struct iwm_priv *iwm); | 497 | int iwm_send_umac_channel_list(struct iwm_priv *iwm); |
412 | int iwm_scan_ssids(struct iwm_priv *iwm, struct cfg80211_ssid *ssids, | 498 | int iwm_scan_ssids(struct iwm_priv *iwm, struct cfg80211_ssid *ssids, |
413 | int ssid_num); | 499 | int ssid_num); |
414 | int iwm_scan_one_ssid(struct iwm_priv *iwm, u8 *ssid, int ssid_len); | 500 | int iwm_scan_one_ssid(struct iwm_priv *iwm, u8 *ssid, int ssid_len); |
501 | int iwm_send_umac_stop_resume_tx(struct iwm_priv *iwm, | ||
502 | struct iwm_umac_notif_stop_resume_tx *ntf); | ||
503 | int iwm_send_pmkid_update(struct iwm_priv *iwm, | ||
504 | struct cfg80211_pmksa *pmksa, u32 command); | ||
415 | 505 | ||
416 | /* UDMA commands */ | 506 | /* UDMA commands */ |
417 | int iwm_target_reset(struct iwm_priv *iwm); | 507 | int iwm_target_reset(struct iwm_priv *iwm); |