aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2200.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ipw2200.h')
-rw-r--r--drivers/net/wireless/ipw2200.h234
1 files changed, 117 insertions, 117 deletions
diff --git a/drivers/net/wireless/ipw2200.h b/drivers/net/wireless/ipw2200.h
index 4e8b75e7962a..78b5f444271d 100644
--- a/drivers/net/wireless/ipw2200.h
+++ b/drivers/net/wireless/ipw2200.h
@@ -1,23 +1,23 @@
1/****************************************************************************** 1/******************************************************************************
2 2
3 Copyright(c) 2003 - 2004 Intel Corporation. All rights reserved. 3 Copyright(c) 2003 - 2004 Intel Corporation. All rights reserved.
4 4
5 This program is free software; you can redistribute it and/or modify it 5 This program is free software; you can redistribute it and/or modify it
6 under the terms of version 2 of the GNU General Public License as 6 under the terms of version 2 of the GNU General Public License as
7 published by the Free Software Foundation. 7 published by the Free Software Foundation.
8 8
9 This program is distributed in the hope that it will be useful, but WITHOUT 9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 more details. 12 more details.
13 13
14 You should have received a copy of the GNU General Public License along with 14 You should have received a copy of the GNU General Public License along with
15 this program; if not, write to the Free Software Foundation, Inc., 59 15 this program; if not, write to the Free Software Foundation, Inc., 59
16 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 16 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 17
18 The full GNU General Public License is included in this distribution in the 18 The full GNU General Public License is included in this distribution in the
19 file called LICENSE. 19 file called LICENSE.
20 20
21 Contact Information: 21 Contact Information:
22 James P. Ketrenos <ipw2100-admin@linux.intel.com> 22 James P. Ketrenos <ipw2100-admin@linux.intel.com>
23 Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 23 Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
@@ -55,8 +55,8 @@
55 55
56#ifndef IRQ_NONE 56#ifndef IRQ_NONE
57typedef void irqreturn_t; 57typedef void irqreturn_t;
58#define IRQ_NONE 58#define IRQ_NONE
59#define IRQ_HANDLED 59#define IRQ_HANDLED
60#define IRQ_RETVAL(x) 60#define IRQ_RETVAL(x)
61#endif 61#endif
62 62
@@ -179,18 +179,18 @@ enum connection_manager_assoc_states
179#define IPW_B_MODE 1 179#define IPW_B_MODE 1
180#define IPW_G_MODE 2 180#define IPW_G_MODE 2
181 181
182/* 182/*
183 * TX Queue Flag Definitions 183 * TX Queue Flag Definitions
184 */ 184 */
185 185
186/* abort attempt if mgmt frame is rx'd */ 186/* abort attempt if mgmt frame is rx'd */
187#define DCT_FLAG_ABORT_MGMT 0x01 187#define DCT_FLAG_ABORT_MGMT 0x01
188 188
189/* require CTS */ 189/* require CTS */
190#define DCT_FLAG_CTS_REQUIRED 0x02 190#define DCT_FLAG_CTS_REQUIRED 0x02
191 191
192/* use short preamble */ 192/* use short preamble */
193#define DCT_FLAG_SHORT_PREMBL 0x04 193#define DCT_FLAG_SHORT_PREMBL 0x04
194 194
195/* RTS/CTS first */ 195/* RTS/CTS first */
196#define DCT_FLAG_RTS_REQD 0x08 196#define DCT_FLAG_RTS_REQD 0x08
@@ -205,7 +205,7 @@ enum connection_manager_assoc_states
205#define DCT_FLAG_TSF_REQD 0x40 205#define DCT_FLAG_TSF_REQD 0x40
206 206
207/* ACK rx is expected to follow */ 207/* ACK rx is expected to follow */
208#define DCT_FLAG_ACK_REQD 0x80 208#define DCT_FLAG_ACK_REQD 0x80
209 209
210#define DCT_FLAG_EXT_MODE_CCK 0x01 210#define DCT_FLAG_EXT_MODE_CCK 0x01
211#define DCT_FLAG_EXT_MODE_OFDM 0x00 211#define DCT_FLAG_EXT_MODE_OFDM 0x00
@@ -238,13 +238,13 @@ enum connection_manager_assoc_states
238#define HOST_NOTIFICATION_CHANNEL_SWITCHED 23 238#define HOST_NOTIFICATION_CHANNEL_SWITCHED 23
239#define HOST_NOTIFICATION_RX_DURING_QUIET_PERIOD 24 239#define HOST_NOTIFICATION_RX_DURING_QUIET_PERIOD 24
240#define HOST_NOTIFICATION_NOISE_STATS 25 240#define HOST_NOTIFICATION_NOISE_STATS 25
241#define HOST_NOTIFICATION_S36_MEASUREMENT_ACCEPTED 30 241#define HOST_NOTIFICATION_S36_MEASUREMENT_ACCEPTED 30
242#define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 31 242#define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 31
243 243
244#define HOST_NOTIFICATION_STATUS_BEACON_MISSING 1 244#define HOST_NOTIFICATION_STATUS_BEACON_MISSING 1
245#define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 24 245#define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 24
246#define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8 246#define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8
247#define IPW_REAL_RATE_RX_PACKET_THRESHOLD 300 247#define IPW_REAL_RATE_RX_PACKET_THRESHOLD 300
248 248
249#define MACADRR_BYTE_LEN 6 249#define MACADRR_BYTE_LEN 6
250 250
@@ -258,7 +258,7 @@ enum connection_manager_assoc_states
258 258
259/** 259/**
260 * Generic queue structure 260 * Generic queue structure
261 * 261 *
262 * Contains common data for Rx and Tx queues 262 * Contains common data for Rx and Tx queues
263 */ 263 */
264struct clx2_queue { 264struct clx2_queue {
@@ -318,7 +318,7 @@ struct machdr24
318 318
319// TX TFD with 32 byte MAC Header 319// TX TFD with 32 byte MAC Header
320struct tx_tfd_32 320struct tx_tfd_32
321{ 321{
322 struct machdr32 mchdr; // 32 322 struct machdr32 mchdr; // 32
323 u32 uivplaceholder[2]; // 8 323 u32 uivplaceholder[2]; // 8
324} __attribute__ ((packed)) ; 324} __attribute__ ((packed)) ;
@@ -368,8 +368,8 @@ struct tfd_data {
368 368
369 /* Tx Parameters */ 369 /* Tx Parameters */
370 u8 cmd_id; 370 u8 cmd_id;
371 u8 seq_num; 371 u8 seq_num;
372 u16 len; 372 u16 len;
373 u8 priority; 373 u8 priority;
374 u8 tx_flags; 374 u8 tx_flags;
375 u8 tx_flags_ext; 375 u8 tx_flags_ext;
@@ -378,10 +378,10 @@ struct tfd_data {
378 u8 rate; 378 u8 rate;
379 u8 antenna; 379 u8 antenna;
380 u16 next_packet_duration; 380 u16 next_packet_duration;
381 u16 next_frag_len; 381 u16 next_frag_len;
382 u16 back_off_counter; //////txop; 382 u16 back_off_counter; //////txop;
383 u8 retrylimit; 383 u8 retrylimit;
384 u16 cwcurrent; 384 u16 cwcurrent;
385 u8 reserved3; 385 u8 reserved3;
386 386
387 /* 802.11 MAC Header */ 387 /* 802.11 MAC Header */
@@ -457,29 +457,29 @@ struct rate_histogram
457 } failed; 457 } failed;
458} __attribute__ ((packed)); 458} __attribute__ ((packed));
459 459
460/* statistics command response */ 460/* statistics command response */
461struct ipw_cmd_stats { 461struct ipw_cmd_stats {
462 u8 cmd_id; 462 u8 cmd_id;
463 u8 seq_num; 463 u8 seq_num;
464 u16 good_sfd; 464 u16 good_sfd;
465 u16 bad_plcp; 465 u16 bad_plcp;
466 u16 wrong_bssid; 466 u16 wrong_bssid;
467 u16 valid_mpdu; 467 u16 valid_mpdu;
468 u16 bad_mac_header; 468 u16 bad_mac_header;
469 u16 reserved_frame_types; 469 u16 reserved_frame_types;
470 u16 rx_ina; 470 u16 rx_ina;
471 u16 bad_crc32; 471 u16 bad_crc32;
472 u16 invalid_cts; 472 u16 invalid_cts;
473 u16 invalid_acks; 473 u16 invalid_acks;
474 u16 long_distance_ina_fina; 474 u16 long_distance_ina_fina;
475 u16 dsp_silence_unreachable; 475 u16 dsp_silence_unreachable;
476 u16 accumulated_rssi; 476 u16 accumulated_rssi;
477 u16 rx_ovfl_frame_tossed; 477 u16 rx_ovfl_frame_tossed;
478 u16 rssi_silence_threshold; 478 u16 rssi_silence_threshold;
479 u16 rx_ovfl_frame_supplied; 479 u16 rx_ovfl_frame_supplied;
480 u16 last_rx_frame_signal; 480 u16 last_rx_frame_signal;
481 u16 last_rx_frame_noise; 481 u16 last_rx_frame_noise;
482 u16 rx_autodetec_no_ofdm; 482 u16 rx_autodetec_no_ofdm;
483 u16 rx_autodetec_no_barker; 483 u16 rx_autodetec_no_barker;
484 u16 reserved; 484 u16 reserved;
485} __attribute__ ((packed)); 485} __attribute__ ((packed));
@@ -568,11 +568,11 @@ struct ipw_rx_notification {
568} __attribute__ ((packed)); 568} __attribute__ ((packed));
569 569
570struct ipw_rx_frame { 570struct ipw_rx_frame {
571 u32 reserved1; 571 u32 reserved1;
572 u8 parent_tsf[4]; // fw_use[0] is boolean for OUR_TSF_IS_GREATER 572 u8 parent_tsf[4]; // fw_use[0] is boolean for OUR_TSF_IS_GREATER
573 u8 received_channel; // The channel that this frame was received on. 573 u8 received_channel; // The channel that this frame was received on.
574 // Note that for .11b this does not have to be 574 // Note that for .11b this does not have to be
575 // the same as the channel that it was sent. 575 // the same as the channel that it was sent.
576 // Filled by LMAC 576 // Filled by LMAC
577 u8 frameStatus; 577 u8 frameStatus;
578 u8 rate; 578 u8 rate;
@@ -583,13 +583,13 @@ struct ipw_rx_frame {
583 u16 noise; 583 u16 noise;
584 u8 antennaAndPhy; 584 u8 antennaAndPhy;
585 u8 control; // control bit should be on in bg 585 u8 control; // control bit should be on in bg
586 u8 rtscts_rate; // rate of rts or cts (in rts cts sequence rate 586 u8 rtscts_rate; // rate of rts or cts (in rts cts sequence rate
587 // is identical) 587 // is identical)
588 u8 rtscts_seen; // 0x1 RTS seen ; 0x2 CTS seen 588 u8 rtscts_seen; // 0x1 RTS seen ; 0x2 CTS seen
589 u16 length; 589 u16 length;
590 u8 data[0]; 590 u8 data[0];
591} __attribute__ ((packed)); 591} __attribute__ ((packed));
592 592
593struct ipw_rx_header { 593struct ipw_rx_header {
594 u8 message_type; 594 u8 message_type;
595 u8 rx_seq_num; 595 u8 rx_seq_num;
@@ -716,8 +716,8 @@ struct ipw_wep_key
716} __attribute__ ((packed)); 716} __attribute__ ((packed));
717 717
718struct ipw_tgi_tx_key 718struct ipw_tgi_tx_key
719{ 719{
720 u8 key_id; 720 u8 key_id;
721 u8 security_type; 721 u8 security_type;
722 u8 station_index; 722 u8 station_index;
723 u8 flags; 723 u8 flags;
@@ -727,7 +727,7 @@ struct ipw_tgi_tx_key
727 727
728#define IPW_SCAN_CHANNELS 54 728#define IPW_SCAN_CHANNELS 54
729 729
730struct ipw_scan_request 730struct ipw_scan_request
731{ 731{
732 u8 scan_type; 732 u8 scan_type;
733 u16 dwell_time; 733 u16 dwell_time;
@@ -753,7 +753,7 @@ struct ipw_scan_request_ext
753 u16 dwell_time[IPW_SCAN_TYPES]; 753 u16 dwell_time[IPW_SCAN_TYPES];
754} __attribute__ ((packed)); 754} __attribute__ ((packed));
755 755
756extern inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index) 756extern inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index)
757{ 757{
758 if (index % 2) 758 if (index % 2)
759 return scan->scan_type[index / 2] & 0x0F; 759 return scan->scan_type[index / 2] & 0x0F;
@@ -761,16 +761,16 @@ extern inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index)
761 return (scan->scan_type[index / 2] & 0xF0) >> 4; 761 return (scan->scan_type[index / 2] & 0xF0) >> 4;
762} 762}
763 763
764extern inline void ipw_set_scan_type(struct ipw_scan_request_ext *scan, 764extern inline void ipw_set_scan_type(struct ipw_scan_request_ext *scan,
765 u8 index, u8 scan_type) 765 u8 index, u8 scan_type)
766{ 766{
767 if (index % 2) 767 if (index % 2)
768 scan->scan_type[index / 2] = 768 scan->scan_type[index / 2] =
769 (scan->scan_type[index / 2] & 0xF0) | 769 (scan->scan_type[index / 2] & 0xF0) |
770 (scan_type & 0x0F); 770 (scan_type & 0x0F);
771 else 771 else
772 scan->scan_type[index / 2] = 772 scan->scan_type[index / 2] =
773 (scan->scan_type[index / 2] & 0x0F) | 773 (scan->scan_type[index / 2] & 0x0F) |
774 ((scan_type & 0x0F) << 4); 774 ((scan_type & 0x0F) << 4);
775} 775}
776 776
@@ -909,14 +909,14 @@ struct ipw_sensitivity_calib
909 909
910/** 910/**
911 * Host command structure. 911 * Host command structure.
912 * 912 *
913 * On input, the following fields should be filled: 913 * On input, the following fields should be filled:
914 * - cmd 914 * - cmd
915 * - len 915 * - len
916 * - status_len 916 * - status_len
917 * - param (if needed) 917 * - param (if needed)
918 * 918 *
919 * On output, 919 * On output,
920 * - \a status contains status; 920 * - \a status contains status;
921 * - \a param filled with status parameters. 921 * - \a param filled with status parameters.
922 */ 922 */
@@ -926,8 +926,8 @@ struct ipw_cmd {
926 u32 status_len; /**< How many 32 bit parameters in the status */ 926 u32 status_len; /**< How many 32 bit parameters in the status */
927 u32 len; /**< incoming parameters length, bytes */ 927 u32 len; /**< incoming parameters length, bytes */
928 /** 928 /**
929 * command parameters. 929 * command parameters.
930 * There should be enough space for incoming and 930 * There should be enough space for incoming and
931 * outcoming parameters. 931 * outcoming parameters.
932 * Incoming parameters listed 1-st, followed by outcoming params. 932 * Incoming parameters listed 1-st, followed by outcoming params.
933 * nParams=(len+3)/4+status_len 933 * nParams=(len+3)/4+status_len
@@ -955,8 +955,8 @@ struct ipw_cmd {
955#define STATUS_STATE_PENDING (1<<13) 955#define STATUS_STATE_PENDING (1<<13)
956 956
957#define STATUS_SCAN_PENDING (1<<20) 957#define STATUS_SCAN_PENDING (1<<20)
958#define STATUS_SCANNING (1<<21) 958#define STATUS_SCANNING (1<<21)
959#define STATUS_SCAN_ABORTING (1<<22) 959#define STATUS_SCAN_ABORTING (1<<22)
960 960
961#define STATUS_INDIRECT_BYTE (1<<28) /* sysfs entry configured for access */ 961#define STATUS_INDIRECT_BYTE (1<<28) /* sysfs entry configured for access */
962#define STATUS_INDIRECT_DWORD (1<<29) /* sysfs entry configured for access */ 962#define STATUS_INDIRECT_DWORD (1<<29) /* sysfs entry configured for access */
@@ -1009,7 +1009,7 @@ struct ipw_priv {
1009 /* pci hardware address support */ 1009 /* pci hardware address support */
1010 void __iomem *hw_base; 1010 void __iomem *hw_base;
1011 unsigned long hw_len; 1011 unsigned long hw_len;
1012 1012
1013 struct fw_image_desc sram_desc; 1013 struct fw_image_desc sram_desc;
1014 1014
1015 /* result of ucode download */ 1015 /* result of ucode download */
@@ -1036,7 +1036,7 @@ struct ipw_priv {
1036 int rx_pend_max; /**< maximum pending buffers for one IRQ */ 1036 int rx_pend_max; /**< maximum pending buffers for one IRQ */
1037 u32 hcmd_seq; /**< sequence number for hcmd */ 1037 u32 hcmd_seq; /**< sequence number for hcmd */
1038 u32 missed_beacon_threshold; 1038 u32 missed_beacon_threshold;
1039 u32 roaming_threshold; 1039 u32 roaming_threshold;
1040 1040
1041 struct ipw_associate assoc_request; 1041 struct ipw_associate assoc_request;
1042 struct ieee80211_network *assoc_network; 1042 struct ieee80211_network *assoc_network;
@@ -1071,11 +1071,11 @@ struct ipw_priv {
1071 u8 channel; 1071 u8 channel;
1072 struct ipw_sys_config sys_config; 1072 struct ipw_sys_config sys_config;
1073 u32 power_mode; 1073 u32 power_mode;
1074 u8 bssid[ETH_ALEN]; 1074 u8 bssid[ETH_ALEN];
1075 u16 rts_threshold; 1075 u16 rts_threshold;
1076 u8 mac_addr[ETH_ALEN]; 1076 u8 mac_addr[ETH_ALEN];
1077 u8 num_stations; 1077 u8 num_stations;
1078 u8 stations[MAX_STATIONS][ETH_ALEN]; 1078 u8 stations[MAX_STATIONS][ETH_ALEN];
1079 1079
1080 u32 notif_missed_beacons; 1080 u32 notif_missed_beacons;
1081 1081
@@ -1094,13 +1094,13 @@ struct ipw_priv {
1094 u32 quality; 1094 u32 quality;
1095 1095
1096 /* eeprom */ 1096 /* eeprom */
1097 u8 eeprom[0x100]; /* 256 bytes of eeprom */ 1097 u8 eeprom[0x100]; /* 256 bytes of eeprom */
1098 int eeprom_delay; 1098 int eeprom_delay;
1099 1099
1100 struct iw_statistics wstats; 1100 struct iw_statistics wstats;
1101 1101
1102 struct workqueue_struct *workqueue; 1102 struct workqueue_struct *workqueue;
1103 1103
1104 struct work_struct adhoc_check; 1104 struct work_struct adhoc_check;
1105 struct work_struct associate; 1105 struct work_struct associate;
1106 struct work_struct disassociate; 1106 struct work_struct disassociate;
@@ -1125,7 +1125,7 @@ struct ipw_priv {
1125#define IPW_DEFAULT_TX_POWER 0x14 1125#define IPW_DEFAULT_TX_POWER 0x14
1126 u8 tx_power; 1126 u8 tx_power;
1127 1127
1128#ifdef CONFIG_PM 1128#ifdef CONFIG_PM
1129 u32 pm_state[16]; 1129 u32 pm_state[16];
1130#endif 1130#endif
1131 1131
@@ -1159,7 +1159,7 @@ do { if (ipw_debug_level & (level)) \
1159 * list here in the form of: 1159 * list here in the form of:
1160 * 1160 *
1161 * #define IPW_DL_xxxx VALUE 1161 * #define IPW_DL_xxxx VALUE
1162 * 1162 *
1163 * shifting value to the left one bit from the previous entry. xxxx should be 1163 * shifting value to the left one bit from the previous entry. xxxx should be
1164 * the name of the classification (for example, WEP) 1164 * the name of the classification (for example, WEP)
1165 * 1165 *
@@ -1173,7 +1173,7 @@ do { if (ipw_debug_level & (level)) \
1173 * 1173 *
1174 * you simply need to add your entry to the ipw_debug_levels array. 1174 * you simply need to add your entry to the ipw_debug_levels array.
1175 * 1175 *
1176 * If you do not see debug_level in /proc/net/ipw then you do not have 1176 * If you do not see debug_level in /proc/net/ipw then you do not have
1177 * CONFIG_IPW_DEBUG defined in your kernel configuration 1177 * CONFIG_IPW_DEBUG defined in your kernel configuration
1178 * 1178 *
1179 */ 1179 */
@@ -1247,7 +1247,7 @@ do { if (ipw_debug_level & (level)) \
1247 1247
1248#define DINO_ENABLE_SYSTEM 0x80 1248#define DINO_ENABLE_SYSTEM 0x80
1249#define DINO_ENABLE_CS 0x40 1249#define DINO_ENABLE_CS 0x40
1250#define DINO_RXFIFO_DATA 0x01 1250#define DINO_RXFIFO_DATA 0x01
1251#define DINO_CONTROL_REG 0x00200000 1251#define DINO_CONTROL_REG 0x00200000
1252 1252
1253#define CX2_INTA_RW 0x00000008 1253#define CX2_INTA_RW 0x00000008
@@ -1320,7 +1320,7 @@ do { if (ipw_debug_level & (level)) \
1320 1320
1321#define DMA_CONTROL_SMALL_CB_CONST_VALUE 0x00540000 1321#define DMA_CONTROL_SMALL_CB_CONST_VALUE 0x00540000
1322#define DMA_CB_STOP_AND_ABORT 0x00000C00 1322#define DMA_CB_STOP_AND_ABORT 0x00000C00
1323#define DMA_CB_START 0x00000100 1323#define DMA_CB_START 0x00000100
1324 1324
1325 1325
1326#define CX2_SHARED_SRAM_SIZE 0x00030000 1326#define CX2_SHARED_SRAM_SIZE 0x00030000
@@ -1410,7 +1410,7 @@ do { if (ipw_debug_level & (level)) \
1410#define EEPROM_NIC_TYPE_HP 4 1410#define EEPROM_NIC_TYPE_HP 4
1411 1411
1412#define FW_MEM_REG_LOWER_BOUND 0x00300000 1412#define FW_MEM_REG_LOWER_BOUND 0x00300000
1413#define FW_MEM_REG_EEPROM_ACCESS (FW_MEM_REG_LOWER_BOUND + 0x40) 1413#define FW_MEM_REG_EEPROM_ACCESS (FW_MEM_REG_LOWER_BOUND + 0x40)
1414 1414
1415#define EEPROM_BIT_SK (1<<0) 1415#define EEPROM_BIT_SK (1<<0)
1416#define EEPROM_BIT_CS (1<<1) 1416#define EEPROM_BIT_CS (1<<1)
@@ -1506,15 +1506,15 @@ enum {
1506#define IPW_RATE_CONNECT 0 1506#define IPW_RATE_CONNECT 0
1507 1507
1508 1508
1509/* 1509/*
1510 * Rate values and masks 1510 * Rate values and masks
1511 */ 1511 */
1512#define IPW_TX_RATE_1MB 0x0A 1512#define IPW_TX_RATE_1MB 0x0A
1513#define IPW_TX_RATE_2MB 0x14 1513#define IPW_TX_RATE_2MB 0x14
1514#define IPW_TX_RATE_5MB 0x37 1514#define IPW_TX_RATE_5MB 0x37
1515#define IPW_TX_RATE_6MB 0x0D 1515#define IPW_TX_RATE_6MB 0x0D
1516#define IPW_TX_RATE_9MB 0x0F 1516#define IPW_TX_RATE_9MB 0x0F
1517#define IPW_TX_RATE_11MB 0x6E 1517#define IPW_TX_RATE_11MB 0x6E
1518#define IPW_TX_RATE_12MB 0x05 1518#define IPW_TX_RATE_12MB 0x05
1519#define IPW_TX_RATE_18MB 0x07 1519#define IPW_TX_RATE_18MB 0x07
1520#define IPW_TX_RATE_24MB 0x09 1520#define IPW_TX_RATE_24MB 0x09
@@ -1525,25 +1525,25 @@ enum {
1525#define IPW_ORD_TABLE_ID_MASK 0x0000FF00 1525#define IPW_ORD_TABLE_ID_MASK 0x0000FF00
1526#define IPW_ORD_TABLE_VALUE_MASK 0x000000FF 1526#define IPW_ORD_TABLE_VALUE_MASK 0x000000FF
1527 1527
1528#define IPW_ORD_TABLE_0_MASK 0x0000F000 1528#define IPW_ORD_TABLE_0_MASK 0x0000F000
1529#define IPW_ORD_TABLE_1_MASK 0x0000F100 1529#define IPW_ORD_TABLE_1_MASK 0x0000F100
1530#define IPW_ORD_TABLE_2_MASK 0x0000F200 1530#define IPW_ORD_TABLE_2_MASK 0x0000F200
1531#define IPW_ORD_TABLE_3_MASK 0x0000F300 1531#define IPW_ORD_TABLE_3_MASK 0x0000F300
1532#define IPW_ORD_TABLE_4_MASK 0x0000F400 1532#define IPW_ORD_TABLE_4_MASK 0x0000F400
1533#define IPW_ORD_TABLE_5_MASK 0x0000F500 1533#define IPW_ORD_TABLE_5_MASK 0x0000F500
1534#define IPW_ORD_TABLE_6_MASK 0x0000F600 1534#define IPW_ORD_TABLE_6_MASK 0x0000F600
1535#define IPW_ORD_TABLE_7_MASK 0x0000F700 1535#define IPW_ORD_TABLE_7_MASK 0x0000F700
1536 1536
1537/* 1537/*
1538 * Table 0 Entries (all entries are 32 bits) 1538 * Table 0 Entries (all entries are 32 bits)
1539 */ 1539 */
1540enum { 1540enum {
1541 IPW_ORD_STAT_TX_CURR_RATE = IPW_ORD_TABLE_0_MASK + 1, 1541 IPW_ORD_STAT_TX_CURR_RATE = IPW_ORD_TABLE_0_MASK + 1,
1542 IPW_ORD_STAT_FRAG_TRESHOLD, 1542 IPW_ORD_STAT_FRAG_TRESHOLD,
1543 IPW_ORD_STAT_RTS_THRESHOLD, 1543 IPW_ORD_STAT_RTS_THRESHOLD,
1544 IPW_ORD_STAT_TX_HOST_REQUESTS, 1544 IPW_ORD_STAT_TX_HOST_REQUESTS,
1545 IPW_ORD_STAT_TX_HOST_COMPLETE, 1545 IPW_ORD_STAT_TX_HOST_COMPLETE,
1546 IPW_ORD_STAT_TX_DIR_DATA, 1546 IPW_ORD_STAT_TX_DIR_DATA,
1547 IPW_ORD_STAT_TX_DIR_DATA_B_1, 1547 IPW_ORD_STAT_TX_DIR_DATA_B_1,
1548 IPW_ORD_STAT_TX_DIR_DATA_B_2, 1548 IPW_ORD_STAT_TX_DIR_DATA_B_2,
1549 IPW_ORD_STAT_TX_DIR_DATA_B_5_5, 1549 IPW_ORD_STAT_TX_DIR_DATA_B_5_5,
@@ -1561,18 +1561,18 @@ enum {
1561 IPW_ORD_STAT_TX_DIR_DATA_G_5_5, 1561 IPW_ORD_STAT_TX_DIR_DATA_G_5_5,
1562 IPW_ORD_STAT_TX_DIR_DATA_G_6, 1562 IPW_ORD_STAT_TX_DIR_DATA_G_6,
1563 IPW_ORD_STAT_TX_DIR_DATA_G_9, 1563 IPW_ORD_STAT_TX_DIR_DATA_G_9,
1564 IPW_ORD_STAT_TX_DIR_DATA_G_11, 1564 IPW_ORD_STAT_TX_DIR_DATA_G_11,
1565 IPW_ORD_STAT_TX_DIR_DATA_G_12, 1565 IPW_ORD_STAT_TX_DIR_DATA_G_12,
1566 IPW_ORD_STAT_TX_DIR_DATA_G_18, 1566 IPW_ORD_STAT_TX_DIR_DATA_G_18,
1567 IPW_ORD_STAT_TX_DIR_DATA_G_24, 1567 IPW_ORD_STAT_TX_DIR_DATA_G_24,
1568 IPW_ORD_STAT_TX_DIR_DATA_G_36, 1568 IPW_ORD_STAT_TX_DIR_DATA_G_36,
1569 IPW_ORD_STAT_TX_DIR_DATA_G_48, 1569 IPW_ORD_STAT_TX_DIR_DATA_G_48,
1570 IPW_ORD_STAT_TX_DIR_DATA_G_54, 1570 IPW_ORD_STAT_TX_DIR_DATA_G_54,
1571 IPW_ORD_STAT_TX_NON_DIR_DATA, 1571 IPW_ORD_STAT_TX_NON_DIR_DATA,
1572 IPW_ORD_STAT_TX_NON_DIR_DATA_B_1, 1572 IPW_ORD_STAT_TX_NON_DIR_DATA_B_1,
1573 IPW_ORD_STAT_TX_NON_DIR_DATA_B_2, 1573 IPW_ORD_STAT_TX_NON_DIR_DATA_B_2,
1574 IPW_ORD_STAT_TX_NON_DIR_DATA_B_5_5, 1574 IPW_ORD_STAT_TX_NON_DIR_DATA_B_5_5,
1575 IPW_ORD_STAT_TX_NON_DIR_DATA_B_11, 1575 IPW_ORD_STAT_TX_NON_DIR_DATA_B_11,
1576 /* Hole */ 1576 /* Hole */
1577 1577
1578 1578
@@ -1586,7 +1586,7 @@ enum {
1586 IPW_ORD_STAT_TX_NON_DIR_DATA_G_5_5, 1586 IPW_ORD_STAT_TX_NON_DIR_DATA_G_5_5,
1587 IPW_ORD_STAT_TX_NON_DIR_DATA_G_6, 1587 IPW_ORD_STAT_TX_NON_DIR_DATA_G_6,
1588 IPW_ORD_STAT_TX_NON_DIR_DATA_G_9, 1588 IPW_ORD_STAT_TX_NON_DIR_DATA_G_9,
1589 IPW_ORD_STAT_TX_NON_DIR_DATA_G_11, 1589 IPW_ORD_STAT_TX_NON_DIR_DATA_G_11,
1590 IPW_ORD_STAT_TX_NON_DIR_DATA_G_12, 1590 IPW_ORD_STAT_TX_NON_DIR_DATA_G_12,
1591 IPW_ORD_STAT_TX_NON_DIR_DATA_G_18, 1591 IPW_ORD_STAT_TX_NON_DIR_DATA_G_18,
1592 IPW_ORD_STAT_TX_NON_DIR_DATA_G_24, 1592 IPW_ORD_STAT_TX_NON_DIR_DATA_G_24,
@@ -1601,12 +1601,12 @@ enum {
1601 IPW_ORD_STAT_FULL_SCANS, 1601 IPW_ORD_STAT_FULL_SCANS,
1602 IPW_ORD_STAT_PARTIAL_SCANS, 1602 IPW_ORD_STAT_PARTIAL_SCANS,
1603 IPW_ORD_STAT_TGH_ABORTED_SCANS, 1603 IPW_ORD_STAT_TGH_ABORTED_SCANS,
1604 IPW_ORD_STAT_TX_TOTAL_BYTES, 1604 IPW_ORD_STAT_TX_TOTAL_BYTES,
1605 IPW_ORD_STAT_CURR_RSSI_RAW, 1605 IPW_ORD_STAT_CURR_RSSI_RAW,
1606 IPW_ORD_STAT_RX_BEACON, 1606 IPW_ORD_STAT_RX_BEACON,
1607 IPW_ORD_STAT_MISSED_BEACONS, 1607 IPW_ORD_STAT_MISSED_BEACONS,
1608 IPW_ORD_TABLE_0_LAST 1608 IPW_ORD_TABLE_0_LAST
1609}; 1609};
1610 1610
1611#define IPW_RSSI_TO_DBM 112 1611#define IPW_RSSI_TO_DBM 112
1612 1612
@@ -1626,15 +1626,15 @@ enum {
1626 * ADDAPTER_MAC: 6 byte MAC address 1626 * ADDAPTER_MAC: 6 byte MAC address
1627 * RTC: 4 byte clock 1627 * RTC: 4 byte clock
1628 */ 1628 */
1629enum { 1629enum {
1630 IPW_ORD_STAT_FW_VERSION = IPW_ORD_TABLE_2_MASK | 1, 1630 IPW_ORD_STAT_FW_VERSION = IPW_ORD_TABLE_2_MASK | 1,
1631 IPW_ORD_STAT_FW_DATE, 1631 IPW_ORD_STAT_FW_DATE,
1632 IPW_ORD_STAT_UCODE_VERSION, 1632 IPW_ORD_STAT_UCODE_VERSION,
1633 IPW_ORD_STAT_UCODE_DATE, 1633 IPW_ORD_STAT_UCODE_DATE,
1634 IPW_ORD_STAT_ADAPTER_MAC, 1634 IPW_ORD_STAT_ADAPTER_MAC,
1635 IPW_ORD_STAT_RTC, 1635 IPW_ORD_STAT_RTC,
1636 IPW_ORD_TABLE_2_LAST 1636 IPW_ORD_TABLE_2_LAST
1637}; 1637};
1638 1638
1639/* Table 3 */ 1639/* Table 3 */
1640enum { 1640enum {
@@ -1711,7 +1711,7 @@ struct host_cmd {
1711#define CFG_BT_COEXISTENCE_WME_OVER_BT 0x08 1711#define CFG_BT_COEXISTENCE_WME_OVER_BT 0x08
1712#define CFG_BT_COEXISTENCE_OOB 0x10 1712#define CFG_BT_COEXISTENCE_OOB 0x10
1713#define CFG_BT_COEXISTENCE_MAX 0xFF 1713#define CFG_BT_COEXISTENCE_MAX 0xFF
1714#define CFG_BT_COEXISTENCE_DEF 0x80 /* read Bt from EEPROM*/ 1714#define CFG_BT_COEXISTENCE_DEF 0x80 /* read Bt from EEPROM*/
1715 1715
1716#define CFG_CTS_TO_ITSELF_ENABLED_MIN 0x0 1716#define CFG_CTS_TO_ITSELF_ENABLED_MIN 0x0
1717#define CFG_CTS_TO_ITSELF_ENABLED_MAX 0x1 1717#define CFG_CTS_TO_ITSELF_ENABLED_MAX 0x1
@@ -1722,9 +1722,9 @@ struct host_cmd {
1722#define CFG_SYS_ANTENNA_B 0x003 1722#define CFG_SYS_ANTENNA_B 0x003
1723 1723
1724/* 1724/*
1725 * The definitions below were lifted off the ipw2100 driver, which only 1725 * The definitions below were lifted off the ipw2100 driver, which only
1726 * supports 'b' mode, so I'm sure these are not exactly correct. 1726 * supports 'b' mode, so I'm sure these are not exactly correct.
1727 * 1727 *
1728 * Somebody fix these!! 1728 * Somebody fix these!!
1729 */ 1729 */
1730#define REG_MIN_CHANNEL 0 1730#define REG_MIN_CHANNEL 0
@@ -1733,11 +1733,11 @@ struct host_cmd {
1733#define REG_CHANNEL_MASK 0x00003FFF 1733#define REG_CHANNEL_MASK 0x00003FFF
1734#define IPW_IBSS_11B_DEFAULT_MASK 0x87ff 1734#define IPW_IBSS_11B_DEFAULT_MASK 0x87ff
1735 1735
1736static const long ipw_frequencies[] = { 1736static const long ipw_frequencies[] = {
1737 2412, 2417, 2422, 2427, 1737 2412, 2417, 2422, 2427,
1738 2432, 2437, 2442, 2447, 1738 2432, 2437, 2442, 2447,
1739 2452, 2457, 2462, 2467, 1739 2452, 2457, 2462, 2467,
1740 2472, 2484 1740 2472, 2484
1741}; 1741};
1742 1742
1743#define FREQ_COUNT ARRAY_SIZE(ipw_frequencies) 1743#define FREQ_COUNT ARRAY_SIZE(ipw_frequencies)