diff options
Diffstat (limited to 'drivers/net/wireless/ipw2200.h')
-rw-r--r-- | drivers/net/wireless/ipw2200.h | 234 |
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 |
57 | typedef void irqreturn_t; | 57 | typedef 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 | */ |
264 | struct clx2_queue { | 264 | struct 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 |
320 | struct tx_tfd_32 | 320 | struct 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 */ |
461 | struct ipw_cmd_stats { | 461 | struct 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 | ||
570 | struct ipw_rx_frame { | 570 | struct 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 | ||
593 | struct ipw_rx_header { | 593 | struct 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 | ||
718 | struct ipw_tgi_tx_key | 718 | struct 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 | ||
730 | struct ipw_scan_request | 730 | struct 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 | ||
756 | extern inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index) | 756 | extern 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 | ||
764 | extern inline void ipw_set_scan_type(struct ipw_scan_request_ext *scan, | 764 | extern 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 | */ |
1540 | enum { | 1540 | enum { |
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 | */ |
1629 | enum { | 1629 | enum { |
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 */ |
1640 | enum { | 1640 | enum { |
@@ -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 | ||
1736 | static const long ipw_frequencies[] = { | 1736 | static 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) |