aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-commands.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-commands.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h244
1 files changed, 122 insertions, 122 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index 9aab020c474b..73d2d59bc1df 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -227,7 +227,7 @@ struct iwl_cmd_header {
227 227
228 /* command or response/notification data follows immediately */ 228 /* command or response/notification data follows immediately */
229 u8 data[0]; 229 u8 data[0];
230} __attribute__ ((packed)); 230} __packed;
231 231
232 232
233/** 233/**
@@ -247,7 +247,7 @@ struct iwl_cmd_header {
247struct iwl3945_tx_power { 247struct iwl3945_tx_power {
248 u8 tx_gain; /* gain for analog radio */ 248 u8 tx_gain; /* gain for analog radio */
249 u8 dsp_atten; /* gain for DSP */ 249 u8 dsp_atten; /* gain for DSP */
250} __attribute__ ((packed)); 250} __packed;
251 251
252/** 252/**
253 * struct iwl3945_power_per_rate 253 * struct iwl3945_power_per_rate
@@ -258,7 +258,7 @@ struct iwl3945_power_per_rate {
258 u8 rate; /* plcp */ 258 u8 rate; /* plcp */
259 struct iwl3945_tx_power tpc; 259 struct iwl3945_tx_power tpc;
260 u8 reserved; 260 u8 reserved;
261} __attribute__ ((packed)); 261} __packed;
262 262
263/** 263/**
264 * iwlagn rate_n_flags bit fields 264 * iwlagn rate_n_flags bit fields
@@ -389,7 +389,7 @@ union iwl4965_tx_power_dual_stream {
389 */ 389 */
390struct tx_power_dual_stream { 390struct tx_power_dual_stream {
391 __le32 dw; 391 __le32 dw;
392} __attribute__ ((packed)); 392} __packed;
393 393
394/** 394/**
395 * struct iwl4965_tx_power_db 395 * struct iwl4965_tx_power_db
@@ -398,7 +398,7 @@ struct tx_power_dual_stream {
398 */ 398 */
399struct iwl4965_tx_power_db { 399struct iwl4965_tx_power_db {
400 struct tx_power_dual_stream power_tbl[POWER_TABLE_NUM_ENTRIES]; 400 struct tx_power_dual_stream power_tbl[POWER_TABLE_NUM_ENTRIES];
401} __attribute__ ((packed)); 401} __packed;
402 402
403/** 403/**
404 * Command REPLY_TX_POWER_DBM_CMD = 0x98 404 * Command REPLY_TX_POWER_DBM_CMD = 0x98
@@ -412,7 +412,7 @@ struct iwl5000_tx_power_dbm_cmd {
412 u8 flags; 412 u8 flags;
413 s8 srv_chan_lmt; /*in half-dBm (e.g. 30 = 15 dBm) */ 413 s8 srv_chan_lmt; /*in half-dBm (e.g. 30 = 15 dBm) */
414 u8 reserved; 414 u8 reserved;
415} __attribute__ ((packed)); 415} __packed;
416 416
417/** 417/**
418 * Command TX_ANT_CONFIGURATION_CMD = 0x98 418 * Command TX_ANT_CONFIGURATION_CMD = 0x98
@@ -422,7 +422,7 @@ struct iwl5000_tx_power_dbm_cmd {
422 */ 422 */
423struct iwl_tx_ant_config_cmd { 423struct iwl_tx_ant_config_cmd {
424 __le32 valid; 424 __le32 valid;
425} __attribute__ ((packed)); 425} __packed;
426 426
427/****************************************************************************** 427/******************************************************************************
428 * (0a) 428 * (0a)
@@ -478,7 +478,7 @@ struct iwl_init_alive_resp {
478 __le32 therm_r4[2]; /* signed */ 478 __le32 therm_r4[2]; /* signed */
479 __le32 tx_atten[5][2]; /* signed MIMO gain comp, 5 freq groups, 479 __le32 tx_atten[5][2]; /* signed MIMO gain comp, 5 freq groups,
480 * 2 Tx chains */ 480 * 2 Tx chains */
481} __attribute__ ((packed)); 481} __packed;
482 482
483 483
484/** 484/**
@@ -570,7 +570,7 @@ struct iwl_alive_resp {
570 __le32 error_event_table_ptr; /* SRAM address for error log */ 570 __le32 error_event_table_ptr; /* SRAM address for error log */
571 __le32 timestamp; 571 __le32 timestamp;
572 __le32 is_valid; 572 __le32 is_valid;
573} __attribute__ ((packed)); 573} __packed;
574 574
575/* 575/*
576 * REPLY_ERROR = 0x2 (response only, not a command) 576 * REPLY_ERROR = 0x2 (response only, not a command)
@@ -582,7 +582,7 @@ struct iwl_error_resp {
582 __le16 bad_cmd_seq_num; 582 __le16 bad_cmd_seq_num;
583 __le32 error_info; 583 __le32 error_info;
584 __le64 timestamp; 584 __le64 timestamp;
585} __attribute__ ((packed)); 585} __packed;
586 586
587/****************************************************************************** 587/******************************************************************************
588 * (1) 588 * (1)
@@ -718,7 +718,7 @@ struct iwl3945_rxon_cmd {
718 __le32 filter_flags; 718 __le32 filter_flags;
719 __le16 channel; 719 __le16 channel;
720 __le16 reserved5; 720 __le16 reserved5;
721} __attribute__ ((packed)); 721} __packed;
722 722
723struct iwl4965_rxon_cmd { 723struct iwl4965_rxon_cmd {
724 u8 node_addr[6]; 724 u8 node_addr[6];
@@ -738,7 +738,7 @@ struct iwl4965_rxon_cmd {
738 __le16 channel; 738 __le16 channel;
739 u8 ofdm_ht_single_stream_basic_rates; 739 u8 ofdm_ht_single_stream_basic_rates;
740 u8 ofdm_ht_dual_stream_basic_rates; 740 u8 ofdm_ht_dual_stream_basic_rates;
741} __attribute__ ((packed)); 741} __packed;
742 742
743/* 5000 HW just extend this command */ 743/* 5000 HW just extend this command */
744struct iwl_rxon_cmd { 744struct iwl_rxon_cmd {
@@ -763,7 +763,7 @@ struct iwl_rxon_cmd {
763 u8 reserved5; 763 u8 reserved5;
764 __le16 acquisition_data; 764 __le16 acquisition_data;
765 __le16 reserved6; 765 __le16 reserved6;
766} __attribute__ ((packed)); 766} __packed;
767 767
768/* 768/*
769 * REPLY_RXON_ASSOC = 0x11 (command, has simple generic response) 769 * REPLY_RXON_ASSOC = 0x11 (command, has simple generic response)
@@ -774,7 +774,7 @@ struct iwl3945_rxon_assoc_cmd {
774 u8 ofdm_basic_rates; 774 u8 ofdm_basic_rates;
775 u8 cck_basic_rates; 775 u8 cck_basic_rates;
776 __le16 reserved; 776 __le16 reserved;
777} __attribute__ ((packed)); 777} __packed;
778 778
779struct iwl4965_rxon_assoc_cmd { 779struct iwl4965_rxon_assoc_cmd {
780 __le32 flags; 780 __le32 flags;
@@ -785,7 +785,7 @@ struct iwl4965_rxon_assoc_cmd {
785 u8 ofdm_ht_dual_stream_basic_rates; 785 u8 ofdm_ht_dual_stream_basic_rates;
786 __le16 rx_chain_select_flags; 786 __le16 rx_chain_select_flags;
787 __le16 reserved; 787 __le16 reserved;
788} __attribute__ ((packed)); 788} __packed;
789 789
790struct iwl5000_rxon_assoc_cmd { 790struct iwl5000_rxon_assoc_cmd {
791 __le32 flags; 791 __le32 flags;
@@ -800,7 +800,7 @@ struct iwl5000_rxon_assoc_cmd {
800 __le16 rx_chain_select_flags; 800 __le16 rx_chain_select_flags;
801 __le16 acquisition_data; 801 __le16 acquisition_data;
802 __le32 reserved3; 802 __le32 reserved3;
803} __attribute__ ((packed)); 803} __packed;
804 804
805#define IWL_CONN_MAX_LISTEN_INTERVAL 10 805#define IWL_CONN_MAX_LISTEN_INTERVAL 10
806#define IWL_MAX_UCODE_BEACON_INTERVAL 4 /* 4096 */ 806#define IWL_MAX_UCODE_BEACON_INTERVAL 4 /* 4096 */
@@ -816,7 +816,7 @@ struct iwl_rxon_time_cmd {
816 __le32 beacon_init_val; 816 __le32 beacon_init_val;
817 __le16 listen_interval; 817 __le16 listen_interval;
818 __le16 reserved; 818 __le16 reserved;
819} __attribute__ ((packed)); 819} __packed;
820 820
821/* 821/*
822 * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response) 822 * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response)
@@ -829,7 +829,7 @@ struct iwl3945_channel_switch_cmd {
829 __le32 rxon_filter_flags; 829 __le32 rxon_filter_flags;
830 __le32 switch_time; 830 __le32 switch_time;
831 struct iwl3945_power_per_rate power[IWL_MAX_RATES]; 831 struct iwl3945_power_per_rate power[IWL_MAX_RATES];
832} __attribute__ ((packed)); 832} __packed;
833 833
834struct iwl4965_channel_switch_cmd { 834struct iwl4965_channel_switch_cmd {
835 u8 band; 835 u8 band;
@@ -839,7 +839,7 @@ struct iwl4965_channel_switch_cmd {
839 __le32 rxon_filter_flags; 839 __le32 rxon_filter_flags;
840 __le32 switch_time; 840 __le32 switch_time;
841 struct iwl4965_tx_power_db tx_power; 841 struct iwl4965_tx_power_db tx_power;
842} __attribute__ ((packed)); 842} __packed;
843 843
844/** 844/**
845 * struct iwl5000_channel_switch_cmd 845 * struct iwl5000_channel_switch_cmd
@@ -860,7 +860,7 @@ struct iwl5000_channel_switch_cmd {
860 __le32 rxon_filter_flags; 860 __le32 rxon_filter_flags;
861 __le32 switch_time; 861 __le32 switch_time;
862 __le32 reserved[2][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES]; 862 __le32 reserved[2][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES];
863} __attribute__ ((packed)); 863} __packed;
864 864
865/** 865/**
866 * struct iwl6000_channel_switch_cmd 866 * struct iwl6000_channel_switch_cmd
@@ -881,7 +881,7 @@ struct iwl6000_channel_switch_cmd {
881 __le32 rxon_filter_flags; 881 __le32 rxon_filter_flags;
882 __le32 switch_time; 882 __le32 switch_time;
883 __le32 reserved[3][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES]; 883 __le32 reserved[3][IWL_PWR_NUM_HT_OFDM_ENTRIES + IWL_PWR_CCK_ENTRIES];
884} __attribute__ ((packed)); 884} __packed;
885 885
886/* 886/*
887 * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command) 887 * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command)
@@ -890,7 +890,7 @@ struct iwl_csa_notification {
890 __le16 band; 890 __le16 band;
891 __le16 channel; 891 __le16 channel;
892 __le32 status; /* 0 - OK, 1 - fail */ 892 __le32 status; /* 0 - OK, 1 - fail */
893} __attribute__ ((packed)); 893} __packed;
894 894
895/****************************************************************************** 895/******************************************************************************
896 * (2) 896 * (2)
@@ -920,7 +920,7 @@ struct iwl_ac_qos {
920 u8 aifsn; 920 u8 aifsn;
921 u8 reserved1; 921 u8 reserved1;
922 __le16 edca_txop; 922 __le16 edca_txop;
923} __attribute__ ((packed)); 923} __packed;
924 924
925/* QoS flags defines */ 925/* QoS flags defines */
926#define QOS_PARAM_FLG_UPDATE_EDCA_MSK cpu_to_le32(0x01) 926#define QOS_PARAM_FLG_UPDATE_EDCA_MSK cpu_to_le32(0x01)
@@ -939,7 +939,7 @@ struct iwl_ac_qos {
939struct iwl_qosparam_cmd { 939struct iwl_qosparam_cmd {
940 __le32 qos_flags; 940 __le32 qos_flags;
941 struct iwl_ac_qos ac[AC_NUM]; 941 struct iwl_ac_qos ac[AC_NUM];
942} __attribute__ ((packed)); 942} __packed;
943 943
944/****************************************************************************** 944/******************************************************************************
945 * (3) 945 * (3)
@@ -1015,7 +1015,7 @@ struct iwl4965_keyinfo {
1015 u8 key_offset; 1015 u8 key_offset;
1016 u8 reserved2; 1016 u8 reserved2;
1017 u8 key[16]; /* 16-byte unicast decryption key */ 1017 u8 key[16]; /* 16-byte unicast decryption key */
1018} __attribute__ ((packed)); 1018} __packed;
1019 1019
1020/* 5000 */ 1020/* 5000 */
1021struct iwl_keyinfo { 1021struct iwl_keyinfo {
@@ -1029,7 +1029,7 @@ struct iwl_keyinfo {
1029 __le64 tx_secur_seq_cnt; 1029 __le64 tx_secur_seq_cnt;
1030 __le64 hw_tkip_mic_rx_key; 1030 __le64 hw_tkip_mic_rx_key;
1031 __le64 hw_tkip_mic_tx_key; 1031 __le64 hw_tkip_mic_tx_key;
1032} __attribute__ ((packed)); 1032} __packed;
1033 1033
1034/** 1034/**
1035 * struct sta_id_modify 1035 * struct sta_id_modify
@@ -1049,7 +1049,7 @@ struct sta_id_modify {
1049 u8 sta_id; 1049 u8 sta_id;
1050 u8 modify_mask; 1050 u8 modify_mask;
1051 __le16 reserved2; 1051 __le16 reserved2;
1052} __attribute__ ((packed)); 1052} __packed;
1053 1053
1054/* 1054/*
1055 * REPLY_ADD_STA = 0x18 (command) 1055 * REPLY_ADD_STA = 0x18 (command)
@@ -1103,7 +1103,7 @@ struct iwl3945_addsta_cmd {
1103 /* Starting Sequence Number for added block-ack support. 1103 /* Starting Sequence Number for added block-ack support.
1104 * Set modify_mask bit STA_MODIFY_ADDBA_TID_MSK to use this field. */ 1104 * Set modify_mask bit STA_MODIFY_ADDBA_TID_MSK to use this field. */
1105 __le16 add_immediate_ba_ssn; 1105 __le16 add_immediate_ba_ssn;
1106} __attribute__ ((packed)); 1106} __packed;
1107 1107
1108struct iwl4965_addsta_cmd { 1108struct iwl4965_addsta_cmd {
1109 u8 mode; /* 1: modify existing, 0: add new station */ 1109 u8 mode; /* 1: modify existing, 0: add new station */
@@ -1140,7 +1140,7 @@ struct iwl4965_addsta_cmd {
1140 __le16 sleep_tx_count; 1140 __le16 sleep_tx_count;
1141 1141
1142 __le16 reserved2; 1142 __le16 reserved2;
1143} __attribute__ ((packed)); 1143} __packed;
1144 1144
1145/* 5000 */ 1145/* 5000 */
1146struct iwl_addsta_cmd { 1146struct iwl_addsta_cmd {
@@ -1178,7 +1178,7 @@ struct iwl_addsta_cmd {
1178 __le16 sleep_tx_count; 1178 __le16 sleep_tx_count;
1179 1179
1180 __le16 reserved2; 1180 __le16 reserved2;
1181} __attribute__ ((packed)); 1181} __packed;
1182 1182
1183 1183
1184#define ADD_STA_SUCCESS_MSK 0x1 1184#define ADD_STA_SUCCESS_MSK 0x1
@@ -1190,7 +1190,7 @@ struct iwl_addsta_cmd {
1190 */ 1190 */
1191struct iwl_add_sta_resp { 1191struct iwl_add_sta_resp {
1192 u8 status; /* ADD_STA_* */ 1192 u8 status; /* ADD_STA_* */
1193} __attribute__ ((packed)); 1193} __packed;
1194 1194
1195#define REM_STA_SUCCESS_MSK 0x1 1195#define REM_STA_SUCCESS_MSK 0x1
1196/* 1196/*
@@ -1198,7 +1198,7 @@ struct iwl_add_sta_resp {
1198 */ 1198 */
1199struct iwl_rem_sta_resp { 1199struct iwl_rem_sta_resp {
1200 u8 status; 1200 u8 status;
1201} __attribute__ ((packed)); 1201} __packed;
1202 1202
1203/* 1203/*
1204 * REPLY_REM_STA = 0x19 (command) 1204 * REPLY_REM_STA = 0x19 (command)
@@ -1208,7 +1208,7 @@ struct iwl_rem_sta_cmd {
1208 u8 reserved[3]; 1208 u8 reserved[3];
1209 u8 addr[ETH_ALEN]; /* MAC addr of the first station */ 1209 u8 addr[ETH_ALEN]; /* MAC addr of the first station */
1210 u8 reserved2[2]; 1210 u8 reserved2[2];
1211} __attribute__ ((packed)); 1211} __packed;
1212 1212
1213/* 1213/*
1214 * REPLY_WEP_KEY = 0x20 1214 * REPLY_WEP_KEY = 0x20
@@ -1220,7 +1220,7 @@ struct iwl_wep_key {
1220 u8 key_size; 1220 u8 key_size;
1221 u8 reserved2[3]; 1221 u8 reserved2[3];
1222 u8 key[16]; 1222 u8 key[16];
1223} __attribute__ ((packed)); 1223} __packed;
1224 1224
1225struct iwl_wep_cmd { 1225struct iwl_wep_cmd {
1226 u8 num_keys; 1226 u8 num_keys;
@@ -1228,7 +1228,7 @@ struct iwl_wep_cmd {
1228 u8 flags; 1228 u8 flags;
1229 u8 reserved; 1229 u8 reserved;
1230 struct iwl_wep_key key[0]; 1230 struct iwl_wep_key key[0];
1231} __attribute__ ((packed)); 1231} __packed;
1232 1232
1233#define WEP_KEY_WEP_TYPE 1 1233#define WEP_KEY_WEP_TYPE 1
1234#define WEP_KEYS_MAX 4 1234#define WEP_KEYS_MAX 4
@@ -1282,7 +1282,7 @@ struct iwl3945_rx_frame_stats {
1282 __le16 sig_avg; 1282 __le16 sig_avg;
1283 __le16 noise_diff; 1283 __le16 noise_diff;
1284 u8 payload[0]; 1284 u8 payload[0];
1285} __attribute__ ((packed)); 1285} __packed;
1286 1286
1287struct iwl3945_rx_frame_hdr { 1287struct iwl3945_rx_frame_hdr {
1288 __le16 channel; 1288 __le16 channel;
@@ -1291,13 +1291,13 @@ struct iwl3945_rx_frame_hdr {
1291 u8 rate; 1291 u8 rate;
1292 __le16 len; 1292 __le16 len;
1293 u8 payload[0]; 1293 u8 payload[0];
1294} __attribute__ ((packed)); 1294} __packed;
1295 1295
1296struct iwl3945_rx_frame_end { 1296struct iwl3945_rx_frame_end {
1297 __le32 status; 1297 __le32 status;
1298 __le64 timestamp; 1298 __le64 timestamp;
1299 __le32 beacon_timestamp; 1299 __le32 beacon_timestamp;
1300} __attribute__ ((packed)); 1300} __packed;
1301 1301
1302/* 1302/*
1303 * REPLY_3945_RX = 0x1b (response only, not a command) 1303 * REPLY_3945_RX = 0x1b (response only, not a command)
@@ -1311,7 +1311,7 @@ struct iwl3945_rx_frame {
1311 struct iwl3945_rx_frame_stats stats; 1311 struct iwl3945_rx_frame_stats stats;
1312 struct iwl3945_rx_frame_hdr hdr; 1312 struct iwl3945_rx_frame_hdr hdr;
1313 struct iwl3945_rx_frame_end end; 1313 struct iwl3945_rx_frame_end end;
1314} __attribute__ ((packed)); 1314} __packed;
1315 1315
1316#define IWL39_RX_FRAME_SIZE (4 + sizeof(struct iwl3945_rx_frame)) 1316#define IWL39_RX_FRAME_SIZE (4 + sizeof(struct iwl3945_rx_frame))
1317 1317
@@ -1327,7 +1327,7 @@ struct iwl4965_rx_non_cfg_phy {
1327 __le16 agc_info; /* agc code 0:6, agc dB 7:13, reserved 14:15 */ 1327 __le16 agc_info; /* agc code 0:6, agc dB 7:13, reserved 14:15 */
1328 u8 rssi_info[6]; /* we use even entries, 0/2/4 for A/B/C rssi */ 1328 u8 rssi_info[6]; /* we use even entries, 0/2/4 for A/B/C rssi */
1329 u8 pad[0]; 1329 u8 pad[0];
1330} __attribute__ ((packed)); 1330} __packed;
1331 1331
1332 1332
1333#define IWL50_RX_RES_PHY_CNT 8 1333#define IWL50_RX_RES_PHY_CNT 8
@@ -1345,7 +1345,7 @@ struct iwl4965_rx_non_cfg_phy {
1345 1345
1346struct iwl5000_non_cfg_phy { 1346struct iwl5000_non_cfg_phy {
1347 __le32 non_cfg_phy[IWL50_RX_RES_PHY_CNT]; /* up to 8 phy entries */ 1347 __le32 non_cfg_phy[IWL50_RX_RES_PHY_CNT]; /* up to 8 phy entries */
1348} __attribute__ ((packed)); 1348} __packed;
1349 1349
1350 1350
1351/* 1351/*
@@ -1365,12 +1365,12 @@ struct iwl_rx_phy_res {
1365 __le32 rate_n_flags; /* RATE_MCS_* */ 1365 __le32 rate_n_flags; /* RATE_MCS_* */
1366 __le16 byte_count; /* frame's byte-count */ 1366 __le16 byte_count; /* frame's byte-count */
1367 __le16 reserved3; 1367 __le16 reserved3;
1368} __attribute__ ((packed)); 1368} __packed;
1369 1369
1370struct iwl4965_rx_mpdu_res_start { 1370struct iwl4965_rx_mpdu_res_start {
1371 __le16 byte_count; 1371 __le16 byte_count;
1372 __le16 reserved; 1372 __le16 reserved;
1373} __attribute__ ((packed)); 1373} __packed;
1374 1374
1375 1375
1376/****************************************************************************** 1376/******************************************************************************
@@ -1557,7 +1557,7 @@ struct iwl3945_tx_cmd {
1557 */ 1557 */
1558 u8 payload[0]; 1558 u8 payload[0];
1559 struct ieee80211_hdr hdr[0]; 1559 struct ieee80211_hdr hdr[0];
1560} __attribute__ ((packed)); 1560} __packed;
1561 1561
1562/* 1562/*
1563 * REPLY_TX = 0x1c (response) 1563 * REPLY_TX = 0x1c (response)
@@ -1569,7 +1569,7 @@ struct iwl3945_tx_resp {
1569 u8 rate; 1569 u8 rate;
1570 __le32 wireless_media_time; 1570 __le32 wireless_media_time;
1571 __le32 status; /* TX status */ 1571 __le32 status; /* TX status */
1572} __attribute__ ((packed)); 1572} __packed;
1573 1573
1574 1574
1575/* 1575/*
@@ -1581,7 +1581,7 @@ struct iwl_dram_scratch {
1581 u8 try_cnt; /* Tx attempts */ 1581 u8 try_cnt; /* Tx attempts */
1582 u8 bt_kill_cnt; /* Tx attempts blocked by Bluetooth device */ 1582 u8 bt_kill_cnt; /* Tx attempts blocked by Bluetooth device */
1583 __le16 reserved; 1583 __le16 reserved;
1584} __attribute__ ((packed)); 1584} __packed;
1585 1585
1586struct iwl_tx_cmd { 1586struct iwl_tx_cmd {
1587 /* 1587 /*
@@ -1660,7 +1660,7 @@ struct iwl_tx_cmd {
1660 */ 1660 */
1661 u8 payload[0]; 1661 u8 payload[0];
1662 struct ieee80211_hdr hdr[0]; 1662 struct ieee80211_hdr hdr[0];
1663} __attribute__ ((packed)); 1663} __packed;
1664 1664
1665/* TX command response is sent after *3945* transmission attempts. 1665/* TX command response is sent after *3945* transmission attempts.
1666 * 1666 *
@@ -1826,7 +1826,7 @@ enum {
1826struct agg_tx_status { 1826struct agg_tx_status {
1827 __le16 status; 1827 __le16 status;
1828 __le16 sequence; 1828 __le16 sequence;
1829} __attribute__ ((packed)); 1829} __packed;
1830 1830
1831struct iwl4965_tx_resp { 1831struct iwl4965_tx_resp {
1832 u8 frame_count; /* 1 no aggregation, >1 aggregation */ 1832 u8 frame_count; /* 1 no aggregation, >1 aggregation */
@@ -1863,7 +1863,7 @@ struct iwl4965_tx_resp {
1863 __le32 status; 1863 __le32 status;
1864 struct agg_tx_status agg_status[0]; /* for each agg frame */ 1864 struct agg_tx_status agg_status[0]; /* for each agg frame */
1865 } u; 1865 } u;
1866} __attribute__ ((packed)); 1866} __packed;
1867 1867
1868/* 1868/*
1869 * definitions for initial rate index field 1869 * definitions for initial rate index field
@@ -1927,7 +1927,7 @@ struct iwl5000_tx_resp {
1927 */ 1927 */
1928 struct agg_tx_status status; /* TX status (in aggregation - 1928 struct agg_tx_status status; /* TX status (in aggregation -
1929 * status of 1st frame) */ 1929 * status of 1st frame) */
1930} __attribute__ ((packed)); 1930} __packed;
1931/* 1931/*
1932 * REPLY_COMPRESSED_BA = 0xc5 (response only, not a command) 1932 * REPLY_COMPRESSED_BA = 0xc5 (response only, not a command)
1933 * 1933 *
@@ -1945,7 +1945,7 @@ struct iwl_compressed_ba_resp {
1945 __le64 bitmap; 1945 __le64 bitmap;
1946 __le16 scd_flow; 1946 __le16 scd_flow;
1947 __le16 scd_ssn; 1947 __le16 scd_ssn;
1948} __attribute__ ((packed)); 1948} __packed;
1949 1949
1950/* 1950/*
1951 * REPLY_TX_PWR_TABLE_CMD = 0x97 (command, has simple generic response) 1951 * REPLY_TX_PWR_TABLE_CMD = 0x97 (command, has simple generic response)
@@ -1958,14 +1958,14 @@ struct iwl3945_txpowertable_cmd {
1958 u8 reserved; 1958 u8 reserved;
1959 __le16 channel; 1959 __le16 channel;
1960 struct iwl3945_power_per_rate power[IWL_MAX_RATES]; 1960 struct iwl3945_power_per_rate power[IWL_MAX_RATES];
1961} __attribute__ ((packed)); 1961} __packed;
1962 1962
1963struct iwl4965_txpowertable_cmd { 1963struct iwl4965_txpowertable_cmd {
1964 u8 band; /* 0: 5 GHz, 1: 2.4 GHz */ 1964 u8 band; /* 0: 5 GHz, 1: 2.4 GHz */
1965 u8 reserved; 1965 u8 reserved;
1966 __le16 channel; 1966 __le16 channel;
1967 struct iwl4965_tx_power_db tx_power; 1967 struct iwl4965_tx_power_db tx_power;
1968} __attribute__ ((packed)); 1968} __packed;
1969 1969
1970 1970
1971/** 1971/**
@@ -1987,13 +1987,13 @@ struct iwl3945_rate_scaling_info {
1987 __le16 rate_n_flags; 1987 __le16 rate_n_flags;
1988 u8 try_cnt; 1988 u8 try_cnt;
1989 u8 next_rate_index; 1989 u8 next_rate_index;
1990} __attribute__ ((packed)); 1990} __packed;
1991 1991
1992struct iwl3945_rate_scaling_cmd { 1992struct iwl3945_rate_scaling_cmd {
1993 u8 table_id; 1993 u8 table_id;
1994 u8 reserved[3]; 1994 u8 reserved[3];
1995 struct iwl3945_rate_scaling_info table[IWL_MAX_RATES]; 1995 struct iwl3945_rate_scaling_info table[IWL_MAX_RATES];
1996} __attribute__ ((packed)); 1996} __packed;
1997 1997
1998 1998
1999/*RS_NEW_API: only TLC_RTS remains and moved to bit 0 */ 1999/*RS_NEW_API: only TLC_RTS remains and moved to bit 0 */
@@ -2040,7 +2040,7 @@ struct iwl_link_qual_general_params {
2040 * TX FIFOs above 3 use same value (typically 0) as TX FIFO 3. 2040 * TX FIFOs above 3 use same value (typically 0) as TX FIFO 3.
2041 */ 2041 */
2042 u8 start_rate_index[LINK_QUAL_AC_NUM]; 2042 u8 start_rate_index[LINK_QUAL_AC_NUM];
2043} __attribute__ ((packed)); 2043} __packed;
2044 2044
2045#define LINK_QUAL_AGG_TIME_LIMIT_DEF (4000) /* 4 milliseconds */ 2045#define LINK_QUAL_AGG_TIME_LIMIT_DEF (4000) /* 4 milliseconds */
2046#define LINK_QUAL_AGG_TIME_LIMIT_MAX (65535) 2046#define LINK_QUAL_AGG_TIME_LIMIT_MAX (65535)
@@ -2081,7 +2081,7 @@ struct iwl_link_qual_agg_params {
2081 u8 agg_frame_cnt_limit; 2081 u8 agg_frame_cnt_limit;
2082 2082
2083 __le32 reserved; 2083 __le32 reserved;
2084} __attribute__ ((packed)); 2084} __packed;
2085 2085
2086/* 2086/*
2087 * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response) 2087 * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response)
@@ -2287,7 +2287,7 @@ struct iwl_link_quality_cmd {
2287 __le32 rate_n_flags; /* RATE_MCS_*, IWL_RATE_* */ 2287 __le32 rate_n_flags; /* RATE_MCS_*, IWL_RATE_* */
2288 } rs_table[LINK_QUAL_MAX_RETRY_NUM]; 2288 } rs_table[LINK_QUAL_MAX_RETRY_NUM];
2289 __le32 reserved2; 2289 __le32 reserved2;
2290} __attribute__ ((packed)); 2290} __packed;
2291 2291
2292/* 2292/*
2293 * BT configuration enable flags: 2293 * BT configuration enable flags:
@@ -2328,7 +2328,7 @@ struct iwl_bt_cmd {
2328 u8 reserved; 2328 u8 reserved;
2329 __le32 kill_ack_mask; 2329 __le32 kill_ack_mask;
2330 __le32 kill_cts_mask; 2330 __le32 kill_cts_mask;
2331} __attribute__ ((packed)); 2331} __packed;
2332 2332
2333/****************************************************************************** 2333/******************************************************************************
2334 * (6) 2334 * (6)
@@ -2353,7 +2353,7 @@ struct iwl_measure_channel {
2353 u8 channel; /* channel to measure */ 2353 u8 channel; /* channel to measure */
2354 u8 type; /* see enum iwl_measure_type */ 2354 u8 type; /* see enum iwl_measure_type */
2355 __le16 reserved; 2355 __le16 reserved;
2356} __attribute__ ((packed)); 2356} __packed;
2357 2357
2358/* 2358/*
2359 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command) 2359 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command)
@@ -2372,7 +2372,7 @@ struct iwl_spectrum_cmd {
2372 __le16 channel_count; /* minimum 1, maximum 10 */ 2372 __le16 channel_count; /* minimum 1, maximum 10 */
2373 __le16 reserved3; 2373 __le16 reserved3;
2374 struct iwl_measure_channel channels[10]; 2374 struct iwl_measure_channel channels[10];
2375} __attribute__ ((packed)); 2375} __packed;
2376 2376
2377/* 2377/*
2378 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response) 2378 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response)
@@ -2383,7 +2383,7 @@ struct iwl_spectrum_resp {
2383 __le16 status; /* 0 - command will be handled 2383 __le16 status; /* 0 - command will be handled
2384 * 1 - cannot handle (conflicts with another 2384 * 1 - cannot handle (conflicts with another
2385 * measurement) */ 2385 * measurement) */
2386} __attribute__ ((packed)); 2386} __packed;
2387 2387
2388enum iwl_measurement_state { 2388enum iwl_measurement_state {
2389 IWL_MEASUREMENT_START = 0, 2389 IWL_MEASUREMENT_START = 0,
@@ -2406,13 +2406,13 @@ enum iwl_measurement_status {
2406struct iwl_measurement_histogram { 2406struct iwl_measurement_histogram {
2407 __le32 ofdm[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 0.8usec counts */ 2407 __le32 ofdm[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 0.8usec counts */
2408 __le32 cck[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 1usec counts */ 2408 __le32 cck[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 1usec counts */
2409} __attribute__ ((packed)); 2409} __packed;
2410 2410
2411/* clear channel availability counters */ 2411/* clear channel availability counters */
2412struct iwl_measurement_cca_counters { 2412struct iwl_measurement_cca_counters {
2413 __le32 ofdm; 2413 __le32 ofdm;
2414 __le32 cck; 2414 __le32 cck;
2415} __attribute__ ((packed)); 2415} __packed;
2416 2416
2417enum iwl_measure_type { 2417enum iwl_measure_type {
2418 IWL_MEASURE_BASIC = (1 << 0), 2418 IWL_MEASURE_BASIC = (1 << 0),
@@ -2448,7 +2448,7 @@ struct iwl_spectrum_notification {
2448 struct iwl_measurement_histogram histogram; 2448 struct iwl_measurement_histogram histogram;
2449 __le32 stop_time; /* lower 32-bits of TSF */ 2449 __le32 stop_time; /* lower 32-bits of TSF */
2450 __le32 status; /* see iwl_measurement_status */ 2450 __le32 status; /* see iwl_measurement_status */
2451} __attribute__ ((packed)); 2451} __packed;
2452 2452
2453/****************************************************************************** 2453/******************************************************************************
2454 * (7) 2454 * (7)
@@ -2504,7 +2504,7 @@ struct iwl3945_powertable_cmd {
2504 __le32 rx_data_timeout; 2504 __le32 rx_data_timeout;
2505 __le32 tx_data_timeout; 2505 __le32 tx_data_timeout;
2506 __le32 sleep_interval[IWL_POWER_VEC_SIZE]; 2506 __le32 sleep_interval[IWL_POWER_VEC_SIZE];
2507} __attribute__ ((packed)); 2507} __packed;
2508 2508
2509struct iwl_powertable_cmd { 2509struct iwl_powertable_cmd {
2510 __le16 flags; 2510 __le16 flags;
@@ -2514,7 +2514,7 @@ struct iwl_powertable_cmd {
2514 __le32 tx_data_timeout; 2514 __le32 tx_data_timeout;
2515 __le32 sleep_interval[IWL_POWER_VEC_SIZE]; 2515 __le32 sleep_interval[IWL_POWER_VEC_SIZE];
2516 __le32 keep_alive_beacons; 2516 __le32 keep_alive_beacons;
2517} __attribute__ ((packed)); 2517} __packed;
2518 2518
2519/* 2519/*
2520 * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command) 2520 * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command)
@@ -2527,7 +2527,7 @@ struct iwl_sleep_notification {
2527 __le32 sleep_time; 2527 __le32 sleep_time;
2528 __le32 tsf_low; 2528 __le32 tsf_low;
2529 __le32 bcon_timer; 2529 __le32 bcon_timer;
2530} __attribute__ ((packed)); 2530} __packed;
2531 2531
2532/* Sleep states. 3945 and 4965 identical. */ 2532/* Sleep states. 3945 and 4965 identical. */
2533enum { 2533enum {
@@ -2552,14 +2552,14 @@ enum {
2552#define CARD_STATE_CMD_HALT 0x02 /* Power down permanently */ 2552#define CARD_STATE_CMD_HALT 0x02 /* Power down permanently */
2553struct iwl_card_state_cmd { 2553struct iwl_card_state_cmd {
2554 __le32 status; /* CARD_STATE_CMD_* request new power state */ 2554 __le32 status; /* CARD_STATE_CMD_* request new power state */
2555} __attribute__ ((packed)); 2555} __packed;
2556 2556
2557/* 2557/*
2558 * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command) 2558 * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command)
2559 */ 2559 */
2560struct iwl_card_state_notif { 2560struct iwl_card_state_notif {
2561 __le32 flags; 2561 __le32 flags;
2562} __attribute__ ((packed)); 2562} __packed;
2563 2563
2564#define HW_CARD_DISABLED 0x01 2564#define HW_CARD_DISABLED 0x01
2565#define SW_CARD_DISABLED 0x02 2565#define SW_CARD_DISABLED 0x02
@@ -2570,14 +2570,14 @@ struct iwl_ct_kill_config {
2570 __le32 reserved; 2570 __le32 reserved;
2571 __le32 critical_temperature_M; 2571 __le32 critical_temperature_M;
2572 __le32 critical_temperature_R; 2572 __le32 critical_temperature_R;
2573} __attribute__ ((packed)); 2573} __packed;
2574 2574
2575/* 1000, and 6x00 */ 2575/* 1000, and 6x00 */
2576struct iwl_ct_kill_throttling_config { 2576struct iwl_ct_kill_throttling_config {
2577 __le32 critical_temperature_exit; 2577 __le32 critical_temperature_exit;
2578 __le32 reserved; 2578 __le32 reserved;
2579 __le32 critical_temperature_enter; 2579 __le32 critical_temperature_enter;
2580} __attribute__ ((packed)); 2580} __packed;
2581 2581
2582/****************************************************************************** 2582/******************************************************************************
2583 * (8) 2583 * (8)
@@ -2622,7 +2622,7 @@ struct iwl3945_scan_channel {
2622 struct iwl3945_tx_power tpc; 2622 struct iwl3945_tx_power tpc;
2623 __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */ 2623 __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */
2624 __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */ 2624 __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */
2625} __attribute__ ((packed)); 2625} __packed;
2626 2626
2627/* set number of direct probes u8 type */ 2627/* set number of direct probes u8 type */
2628#define IWL39_SCAN_PROBE_MASK(n) ((BIT(n) | (BIT(n) - BIT(1)))) 2628#define IWL39_SCAN_PROBE_MASK(n) ((BIT(n) | (BIT(n) - BIT(1))))
@@ -2641,7 +2641,7 @@ struct iwl_scan_channel {
2641 u8 dsp_atten; /* gain for DSP */ 2641 u8 dsp_atten; /* gain for DSP */
2642 __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */ 2642 __le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */
2643 __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */ 2643 __le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */
2644} __attribute__ ((packed)); 2644} __packed;
2645 2645
2646/* set number of direct probes __le32 type */ 2646/* set number of direct probes __le32 type */
2647#define IWL_SCAN_PROBE_MASK(n) cpu_to_le32((BIT(n) | (BIT(n) - BIT(1)))) 2647#define IWL_SCAN_PROBE_MASK(n) cpu_to_le32((BIT(n) | (BIT(n) - BIT(1))))
@@ -2658,7 +2658,7 @@ struct iwl_ssid_ie {
2658 u8 id; 2658 u8 id;
2659 u8 len; 2659 u8 len;
2660 u8 ssid[32]; 2660 u8 ssid[32];
2661} __attribute__ ((packed)); 2661} __packed;
2662 2662
2663#define PROBE_OPTION_MAX_3945 4 2663#define PROBE_OPTION_MAX_3945 4
2664#define PROBE_OPTION_MAX 20 2664#define PROBE_OPTION_MAX 20
@@ -2764,7 +2764,7 @@ struct iwl3945_scan_cmd {
2764 * before requesting another scan. 2764 * before requesting another scan.
2765 */ 2765 */
2766 u8 data[0]; 2766 u8 data[0];
2767} __attribute__ ((packed)); 2767} __packed;
2768 2768
2769struct iwl_scan_cmd { 2769struct iwl_scan_cmd {
2770 __le16 len; 2770 __le16 len;
@@ -2808,7 +2808,7 @@ struct iwl_scan_cmd {
2808 * before requesting another scan. 2808 * before requesting another scan.
2809 */ 2809 */
2810 u8 data[0]; 2810 u8 data[0];
2811} __attribute__ ((packed)); 2811} __packed;
2812 2812
2813/* Can abort will notify by complete notification with abort status. */ 2813/* Can abort will notify by complete notification with abort status. */
2814#define CAN_ABORT_STATUS cpu_to_le32(0x1) 2814#define CAN_ABORT_STATUS cpu_to_le32(0x1)
@@ -2820,7 +2820,7 @@ struct iwl_scan_cmd {
2820 */ 2820 */
2821struct iwl_scanreq_notification { 2821struct iwl_scanreq_notification {
2822 __le32 status; /* 1: okay, 2: cannot fulfill request */ 2822 __le32 status; /* 1: okay, 2: cannot fulfill request */
2823} __attribute__ ((packed)); 2823} __packed;
2824 2824
2825/* 2825/*
2826 * SCAN_START_NOTIFICATION = 0x82 (notification only, not a command) 2826 * SCAN_START_NOTIFICATION = 0x82 (notification only, not a command)
@@ -2833,7 +2833,7 @@ struct iwl_scanstart_notification {
2833 u8 band; 2833 u8 band;
2834 u8 reserved[2]; 2834 u8 reserved[2];
2835 __le32 status; 2835 __le32 status;
2836} __attribute__ ((packed)); 2836} __packed;
2837 2837
2838#define SCAN_OWNER_STATUS 0x1; 2838#define SCAN_OWNER_STATUS 0x1;
2839#define MEASURE_OWNER_STATUS 0x2; 2839#define MEASURE_OWNER_STATUS 0x2;
@@ -2849,7 +2849,7 @@ struct iwl_scanresults_notification {
2849 __le32 tsf_low; 2849 __le32 tsf_low;
2850 __le32 tsf_high; 2850 __le32 tsf_high;
2851 __le32 statistics[NUMBER_OF_STATISTICS]; 2851 __le32 statistics[NUMBER_OF_STATISTICS];
2852} __attribute__ ((packed)); 2852} __packed;
2853 2853
2854/* 2854/*
2855 * SCAN_COMPLETE_NOTIFICATION = 0x84 (notification only, not a command) 2855 * SCAN_COMPLETE_NOTIFICATION = 0x84 (notification only, not a command)
@@ -2861,7 +2861,7 @@ struct iwl_scancomplete_notification {
2861 u8 last_channel; 2861 u8 last_channel;
2862 __le32 tsf_low; 2862 __le32 tsf_low;
2863 __le32 tsf_high; 2863 __le32 tsf_high;
2864} __attribute__ ((packed)); 2864} __packed;
2865 2865
2866 2866
2867/****************************************************************************** 2867/******************************************************************************
@@ -2879,14 +2879,14 @@ struct iwl3945_beacon_notif {
2879 __le32 low_tsf; 2879 __le32 low_tsf;
2880 __le32 high_tsf; 2880 __le32 high_tsf;
2881 __le32 ibss_mgr_status; 2881 __le32 ibss_mgr_status;
2882} __attribute__ ((packed)); 2882} __packed;
2883 2883
2884struct iwl4965_beacon_notif { 2884struct iwl4965_beacon_notif {
2885 struct iwl4965_tx_resp beacon_notify_hdr; 2885 struct iwl4965_tx_resp beacon_notify_hdr;
2886 __le32 low_tsf; 2886 __le32 low_tsf;
2887 __le32 high_tsf; 2887 __le32 high_tsf;
2888 __le32 ibss_mgr_status; 2888 __le32 ibss_mgr_status;
2889} __attribute__ ((packed)); 2889} __packed;
2890 2890
2891/* 2891/*
2892 * REPLY_TX_BEACON = 0x91 (command, has simple generic response) 2892 * REPLY_TX_BEACON = 0x91 (command, has simple generic response)
@@ -2898,7 +2898,7 @@ struct iwl3945_tx_beacon_cmd {
2898 u8 tim_size; 2898 u8 tim_size;
2899 u8 reserved1; 2899 u8 reserved1;
2900 struct ieee80211_hdr frame[0]; /* beacon frame */ 2900 struct ieee80211_hdr frame[0]; /* beacon frame */
2901} __attribute__ ((packed)); 2901} __packed;
2902 2902
2903struct iwl_tx_beacon_cmd { 2903struct iwl_tx_beacon_cmd {
2904 struct iwl_tx_cmd tx; 2904 struct iwl_tx_cmd tx;
@@ -2906,7 +2906,7 @@ struct iwl_tx_beacon_cmd {
2906 u8 tim_size; 2906 u8 tim_size;
2907 u8 reserved1; 2907 u8 reserved1;
2908 struct ieee80211_hdr frame[0]; /* beacon frame */ 2908 struct ieee80211_hdr frame[0]; /* beacon frame */
2909} __attribute__ ((packed)); 2909} __packed;
2910 2910
2911/****************************************************************************** 2911/******************************************************************************
2912 * (10) 2912 * (10)
@@ -2932,7 +2932,7 @@ struct rate_histogram {
2932 __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS]; 2932 __le32 b[SUP_RATE_11B_MAX_NUM_CHANNELS];
2933 __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS]; 2933 __le32 g[SUP_RATE_11G_MAX_NUM_CHANNELS];
2934 } failed; 2934 } failed;
2935} __attribute__ ((packed)); 2935} __packed;
2936 2936
2937/* statistics command response */ 2937/* statistics command response */
2938 2938
@@ -2952,7 +2952,7 @@ struct iwl39_statistics_rx_phy {
2952 __le32 rxe_frame_limit_overrun; 2952 __le32 rxe_frame_limit_overrun;
2953 __le32 sent_ack_cnt; 2953 __le32 sent_ack_cnt;
2954 __le32 sent_cts_cnt; 2954 __le32 sent_cts_cnt;
2955} __attribute__ ((packed)); 2955} __packed;
2956 2956
2957struct iwl39_statistics_rx_non_phy { 2957struct iwl39_statistics_rx_non_phy {
2958 __le32 bogus_cts; /* CTS received when not expecting CTS */ 2958 __le32 bogus_cts; /* CTS received when not expecting CTS */
@@ -2963,13 +2963,13 @@ struct iwl39_statistics_rx_non_phy {
2963 * filtering process */ 2963 * filtering process */
2964 __le32 non_channel_beacons; /* beacons with our bss id but not on 2964 __le32 non_channel_beacons; /* beacons with our bss id but not on
2965 * our serving channel */ 2965 * our serving channel */
2966} __attribute__ ((packed)); 2966} __packed;
2967 2967
2968struct iwl39_statistics_rx { 2968struct iwl39_statistics_rx {
2969 struct iwl39_statistics_rx_phy ofdm; 2969 struct iwl39_statistics_rx_phy ofdm;
2970 struct iwl39_statistics_rx_phy cck; 2970 struct iwl39_statistics_rx_phy cck;
2971 struct iwl39_statistics_rx_non_phy general; 2971 struct iwl39_statistics_rx_non_phy general;
2972} __attribute__ ((packed)); 2972} __packed;
2973 2973
2974struct iwl39_statistics_tx { 2974struct iwl39_statistics_tx {
2975 __le32 preamble_cnt; 2975 __le32 preamble_cnt;
@@ -2981,20 +2981,20 @@ struct iwl39_statistics_tx {
2981 __le32 ack_timeout; 2981 __le32 ack_timeout;
2982 __le32 expected_ack_cnt; 2982 __le32 expected_ack_cnt;
2983 __le32 actual_ack_cnt; 2983 __le32 actual_ack_cnt;
2984} __attribute__ ((packed)); 2984} __packed;
2985 2985
2986struct statistics_dbg { 2986struct statistics_dbg {
2987 __le32 burst_check; 2987 __le32 burst_check;
2988 __le32 burst_count; 2988 __le32 burst_count;
2989 __le32 reserved[4]; 2989 __le32 reserved[4];
2990} __attribute__ ((packed)); 2990} __packed;
2991 2991
2992struct iwl39_statistics_div { 2992struct iwl39_statistics_div {
2993 __le32 tx_on_a; 2993 __le32 tx_on_a;
2994 __le32 tx_on_b; 2994 __le32 tx_on_b;
2995 __le32 exec_time; 2995 __le32 exec_time;
2996 __le32 probe_time; 2996 __le32 probe_time;
2997} __attribute__ ((packed)); 2997} __packed;
2998 2998
2999struct iwl39_statistics_general { 2999struct iwl39_statistics_general {
3000 __le32 temperature; 3000 __le32 temperature;
@@ -3004,7 +3004,7 @@ struct iwl39_statistics_general {
3004 __le32 slots_idle; 3004 __le32 slots_idle;
3005 __le32 ttl_timestamp; 3005 __le32 ttl_timestamp;
3006 struct iwl39_statistics_div div; 3006 struct iwl39_statistics_div div;
3007} __attribute__ ((packed)); 3007} __packed;
3008 3008
3009struct statistics_rx_phy { 3009struct statistics_rx_phy {
3010 __le32 ina_cnt; 3010 __le32 ina_cnt;
@@ -3027,7 +3027,7 @@ struct statistics_rx_phy {
3027 __le32 mh_format_err; 3027 __le32 mh_format_err;
3028 __le32 re_acq_main_rssi_sum; 3028 __le32 re_acq_main_rssi_sum;
3029 __le32 reserved3; 3029 __le32 reserved3;
3030} __attribute__ ((packed)); 3030} __packed;
3031 3031
3032struct statistics_rx_ht_phy { 3032struct statistics_rx_ht_phy {
3033 __le32 plcp_err; 3033 __le32 plcp_err;
@@ -3040,7 +3040,7 @@ struct statistics_rx_ht_phy {
3040 __le32 agg_mpdu_cnt; 3040 __le32 agg_mpdu_cnt;
3041 __le32 agg_cnt; 3041 __le32 agg_cnt;
3042 __le32 unsupport_mcs; 3042 __le32 unsupport_mcs;
3043} __attribute__ ((packed)); 3043} __packed;
3044 3044
3045#define INTERFERENCE_DATA_AVAILABLE cpu_to_le32(1) 3045#define INTERFERENCE_DATA_AVAILABLE cpu_to_le32(1)
3046 3046
@@ -3075,14 +3075,14 @@ struct statistics_rx_non_phy {
3075 __le32 beacon_energy_a; 3075 __le32 beacon_energy_a;
3076 __le32 beacon_energy_b; 3076 __le32 beacon_energy_b;
3077 __le32 beacon_energy_c; 3077 __le32 beacon_energy_c;
3078} __attribute__ ((packed)); 3078} __packed;
3079 3079
3080struct statistics_rx { 3080struct statistics_rx {
3081 struct statistics_rx_phy ofdm; 3081 struct statistics_rx_phy ofdm;
3082 struct statistics_rx_phy cck; 3082 struct statistics_rx_phy cck;
3083 struct statistics_rx_non_phy general; 3083 struct statistics_rx_non_phy general;
3084 struct statistics_rx_ht_phy ofdm_ht; 3084 struct statistics_rx_ht_phy ofdm_ht;
3085} __attribute__ ((packed)); 3085} __packed;
3086 3086
3087/** 3087/**
3088 * struct statistics_tx_power - current tx power 3088 * struct statistics_tx_power - current tx power
@@ -3096,7 +3096,7 @@ struct statistics_tx_power {
3096 u8 ant_b; 3096 u8 ant_b;
3097 u8 ant_c; 3097 u8 ant_c;
3098 u8 reserved; 3098 u8 reserved;
3099} __attribute__ ((packed)); 3099} __packed;
3100 3100
3101struct statistics_tx_non_phy_agg { 3101struct statistics_tx_non_phy_agg {
3102 __le32 ba_timeout; 3102 __le32 ba_timeout;
@@ -3109,7 +3109,7 @@ struct statistics_tx_non_phy_agg {
3109 __le32 underrun; 3109 __le32 underrun;
3110 __le32 bt_prio_kill; 3110 __le32 bt_prio_kill;
3111 __le32 rx_ba_rsp_cnt; 3111 __le32 rx_ba_rsp_cnt;
3112} __attribute__ ((packed)); 3112} __packed;
3113 3113
3114struct statistics_tx { 3114struct statistics_tx {
3115 __le32 preamble_cnt; 3115 __le32 preamble_cnt;
@@ -3134,7 +3134,7 @@ struct statistics_tx {
3134 */ 3134 */
3135 struct statistics_tx_power tx_power; 3135 struct statistics_tx_power tx_power;
3136 __le32 reserved1; 3136 __le32 reserved1;
3137} __attribute__ ((packed)); 3137} __packed;
3138 3138
3139 3139
3140struct statistics_div { 3140struct statistics_div {
@@ -3144,7 +3144,7 @@ struct statistics_div {
3144 __le32 probe_time; 3144 __le32 probe_time;
3145 __le32 reserved1; 3145 __le32 reserved1;
3146 __le32 reserved2; 3146 __le32 reserved2;
3147} __attribute__ ((packed)); 3147} __packed;
3148 3148
3149struct statistics_general { 3149struct statistics_general {
3150 __le32 temperature; /* radio temperature */ 3150 __le32 temperature; /* radio temperature */
@@ -3164,7 +3164,7 @@ struct statistics_general {
3164 __le32 num_of_sos_states; 3164 __le32 num_of_sos_states;
3165 __le32 reserved2; 3165 __le32 reserved2;
3166 __le32 reserved3; 3166 __le32 reserved3;
3167} __attribute__ ((packed)); 3167} __packed;
3168 3168
3169#define UCODE_STATISTICS_CLEAR_MSK (0x1 << 0) 3169#define UCODE_STATISTICS_CLEAR_MSK (0x1 << 0)
3170#define UCODE_STATISTICS_FREQUENCY_MSK (0x1 << 1) 3170#define UCODE_STATISTICS_FREQUENCY_MSK (0x1 << 1)
@@ -3189,7 +3189,7 @@ struct statistics_general {
3189#define IWL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)/* see above */ 3189#define IWL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)/* see above */
3190struct iwl_statistics_cmd { 3190struct iwl_statistics_cmd {
3191 __le32 configuration_flags; /* IWL_STATS_CONF_* */ 3191 __le32 configuration_flags; /* IWL_STATS_CONF_* */
3192} __attribute__ ((packed)); 3192} __packed;
3193 3193
3194/* 3194/*
3195 * STATISTICS_NOTIFICATION = 0x9d (notification only, not a command) 3195 * STATISTICS_NOTIFICATION = 0x9d (notification only, not a command)
@@ -3214,14 +3214,14 @@ struct iwl3945_notif_statistics {
3214 struct iwl39_statistics_rx rx; 3214 struct iwl39_statistics_rx rx;
3215 struct iwl39_statistics_tx tx; 3215 struct iwl39_statistics_tx tx;
3216 struct iwl39_statistics_general general; 3216 struct iwl39_statistics_general general;
3217} __attribute__ ((packed)); 3217} __packed;
3218 3218
3219struct iwl_notif_statistics { 3219struct iwl_notif_statistics {
3220 __le32 flag; 3220 __le32 flag;
3221 struct statistics_rx rx; 3221 struct statistics_rx rx;
3222 struct statistics_tx tx; 3222 struct statistics_tx tx;
3223 struct statistics_general general; 3223 struct statistics_general general;
3224} __attribute__ ((packed)); 3224} __packed;
3225 3225
3226 3226
3227/* 3227/*
@@ -3253,7 +3253,7 @@ struct iwl_missed_beacon_notif {
3253 __le32 total_missed_becons; 3253 __le32 total_missed_becons;
3254 __le32 num_expected_beacons; 3254 __le32 num_expected_beacons;
3255 __le32 num_recvd_beacons; 3255 __le32 num_recvd_beacons;
3256} __attribute__ ((packed)); 3256} __packed;
3257 3257
3258 3258
3259/****************************************************************************** 3259/******************************************************************************
@@ -3455,7 +3455,7 @@ struct iwl_missed_beacon_notif {
3455struct iwl_sensitivity_cmd { 3455struct iwl_sensitivity_cmd {
3456 __le16 control; /* always use "1" */ 3456 __le16 control; /* always use "1" */
3457 __le16 table[HD_TABLE_SIZE]; /* use HD_* as index */ 3457 __le16 table[HD_TABLE_SIZE]; /* use HD_* as index */
3458} __attribute__ ((packed)); 3458} __packed;
3459 3459
3460 3460
3461/** 3461/**
@@ -3536,31 +3536,31 @@ struct iwl_calib_cfg_elmnt_s {
3536 __le32 send_res; 3536 __le32 send_res;
3537 __le32 apply_res; 3537 __le32 apply_res;
3538 __le32 reserved; 3538 __le32 reserved;
3539} __attribute__ ((packed)); 3539} __packed;
3540 3540
3541struct iwl_calib_cfg_status_s { 3541struct iwl_calib_cfg_status_s {
3542 struct iwl_calib_cfg_elmnt_s once; 3542 struct iwl_calib_cfg_elmnt_s once;
3543 struct iwl_calib_cfg_elmnt_s perd; 3543 struct iwl_calib_cfg_elmnt_s perd;
3544 __le32 flags; 3544 __le32 flags;
3545} __attribute__ ((packed)); 3545} __packed;
3546 3546
3547struct iwl_calib_cfg_cmd { 3547struct iwl_calib_cfg_cmd {
3548 struct iwl_calib_cfg_status_s ucd_calib_cfg; 3548 struct iwl_calib_cfg_status_s ucd_calib_cfg;
3549 struct iwl_calib_cfg_status_s drv_calib_cfg; 3549 struct iwl_calib_cfg_status_s drv_calib_cfg;
3550 __le32 reserved1; 3550 __le32 reserved1;
3551} __attribute__ ((packed)); 3551} __packed;
3552 3552
3553struct iwl_calib_hdr { 3553struct iwl_calib_hdr {
3554 u8 op_code; 3554 u8 op_code;
3555 u8 first_group; 3555 u8 first_group;
3556 u8 groups_num; 3556 u8 groups_num;
3557 u8 data_valid; 3557 u8 data_valid;
3558} __attribute__ ((packed)); 3558} __packed;
3559 3559
3560struct iwl_calib_cmd { 3560struct iwl_calib_cmd {
3561 struct iwl_calib_hdr hdr; 3561 struct iwl_calib_hdr hdr;
3562 u8 data[0]; 3562 u8 data[0];
3563} __attribute__ ((packed)); 3563} __packed;
3564 3564
3565/* IWL_PHY_CALIBRATE_DIFF_GAIN_CMD (7) */ 3565/* IWL_PHY_CALIBRATE_DIFF_GAIN_CMD (7) */
3566struct iwl_calib_diff_gain_cmd { 3566struct iwl_calib_diff_gain_cmd {
@@ -3569,14 +3569,14 @@ struct iwl_calib_diff_gain_cmd {
3569 s8 diff_gain_b; 3569 s8 diff_gain_b;
3570 s8 diff_gain_c; 3570 s8 diff_gain_c;
3571 u8 reserved1; 3571 u8 reserved1;
3572} __attribute__ ((packed)); 3572} __packed;
3573 3573
3574struct iwl_calib_xtal_freq_cmd { 3574struct iwl_calib_xtal_freq_cmd {
3575 struct iwl_calib_hdr hdr; 3575 struct iwl_calib_hdr hdr;
3576 u8 cap_pin1; 3576 u8 cap_pin1;
3577 u8 cap_pin2; 3577 u8 cap_pin2;
3578 u8 pad[2]; 3578 u8 pad[2];
3579} __attribute__ ((packed)); 3579} __packed;
3580 3580
3581/* IWL_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD */ 3581/* IWL_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD */
3582struct iwl_calib_chain_noise_reset_cmd { 3582struct iwl_calib_chain_noise_reset_cmd {
@@ -3590,7 +3590,7 @@ struct iwl_calib_chain_noise_gain_cmd {
3590 u8 delta_gain_1; 3590 u8 delta_gain_1;
3591 u8 delta_gain_2; 3591 u8 delta_gain_2;
3592 u8 pad[2]; 3592 u8 pad[2];
3593} __attribute__ ((packed)); 3593} __packed;
3594 3594
3595/****************************************************************************** 3595/******************************************************************************
3596 * (12) 3596 * (12)
@@ -3613,7 +3613,7 @@ struct iwl_led_cmd {
3613 u8 on; /* # intervals on while blinking; 3613 u8 on; /* # intervals on while blinking;
3614 * "0", regardless of "off", turns LED off */ 3614 * "0", regardless of "off", turns LED off */
3615 u8 reserved; 3615 u8 reserved;
3616} __attribute__ ((packed)); 3616} __packed;
3617 3617
3618/* 3618/*
3619 * station priority table entries 3619 * station priority table entries
@@ -3749,7 +3749,7 @@ struct iwl_wimax_coex_event_entry {
3749 u8 win_medium_prio; 3749 u8 win_medium_prio;
3750 u8 reserved; 3750 u8 reserved;
3751 u8 flags; 3751 u8 flags;
3752} __attribute__ ((packed)); 3752} __packed;
3753 3753
3754/* COEX flag masks */ 3754/* COEX flag masks */
3755 3755
@@ -3766,7 +3766,7 @@ struct iwl_wimax_coex_cmd {
3766 u8 flags; 3766 u8 flags;
3767 u8 reserved[3]; 3767 u8 reserved[3];
3768 struct iwl_wimax_coex_event_entry sta_prio[COEX_NUM_OF_EVENTS]; 3768 struct iwl_wimax_coex_event_entry sta_prio[COEX_NUM_OF_EVENTS];
3769} __attribute__ ((packed)); 3769} __packed;
3770 3770
3771/* 3771/*
3772 * Coexistence MEDIUM NOTIFICATION 3772 * Coexistence MEDIUM NOTIFICATION
@@ -3795,7 +3795,7 @@ struct iwl_wimax_coex_cmd {
3795struct iwl_coex_medium_notification { 3795struct iwl_coex_medium_notification {
3796 __le32 status; 3796 __le32 status;
3797 __le32 events; 3797 __le32 events;
3798} __attribute__ ((packed)); 3798} __packed;
3799 3799
3800/* 3800/*
3801 * Coexistence EVENT Command 3801 * Coexistence EVENT Command
@@ -3810,11 +3810,11 @@ struct iwl_coex_event_cmd {
3810 u8 flags; 3810 u8 flags;
3811 u8 event; 3811 u8 event;
3812 __le16 reserved; 3812 __le16 reserved;
3813} __attribute__ ((packed)); 3813} __packed;
3814 3814
3815struct iwl_coex_event_resp { 3815struct iwl_coex_event_resp {
3816 __le32 status; 3816 __le32 status;
3817} __attribute__ ((packed)); 3817} __packed;
3818 3818
3819 3819
3820/****************************************************************************** 3820/******************************************************************************
@@ -3858,7 +3858,7 @@ struct iwl_rx_packet {
3858 __le32 status; 3858 __le32 status;
3859 u8 raw[0]; 3859 u8 raw[0];
3860 } u; 3860 } u;
3861} __attribute__ ((packed)); 3861} __packed;
3862 3862
3863int iwl_agn_check_rxon_cmd(struct iwl_priv *priv); 3863int iwl_agn_check_rxon_cmd(struct iwl_priv *priv);
3864 3864