Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci-2.6.23
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci-2.6.23
Commits
4fa969cf
Commit
4fa969cf
authored
Jul 31, 2005
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Plain Diff
/spare/repo/netdev-2.6 branch 'ieee80211'
parents
24735354
bf79451e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
917 additions
and
917 deletions
+917
-917
drivers/net/wireless/ipw2200.c
drivers/net/wireless/ipw2200.c
+800
-800
drivers/net/wireless/ipw2200.h
drivers/net/wireless/ipw2200.h
+117
-117
No files found.
drivers/net/wireless/ipw2200.c
View file @
4fa969cf
This source diff could not be displayed because it is too large. You can
view the blob
instead.
drivers/net/wireless/ipw2200.h
View file @
4fa969cf
/******************************************************************************
/******************************************************************************
Copyright(c) 2003 - 2004 Intel Corporation. All rights reserved.
Copyright(c) 2003 - 2004 Intel Corporation. All rights reserved.
This program is free software; you can redistribute it and/or modify it
This program is free software; you can redistribute it and/or modify it
under the terms of version 2 of the GNU General Public License as
under the terms of version 2 of the GNU General Public License as
published by the Free Software Foundation.
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
more details.
You should have received a copy of the GNU General Public License along with
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59
this program; if not, write to the Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
The full GNU General Public License is included in this distribution in the
The full GNU General Public License is included in this distribution in the
file called LICENSE.
file called LICENSE.
Contact Information:
Contact Information:
James P. Ketrenos <ipw2100-admin@linux.intel.com>
James P. Ketrenos <ipw2100-admin@linux.intel.com>
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
...
@@ -55,8 +55,8 @@
...
@@ -55,8 +55,8 @@
#ifndef IRQ_NONE
#ifndef IRQ_NONE
typedef
void
irqreturn_t
;
typedef
void
irqreturn_t
;
#define IRQ_NONE
#define IRQ_NONE
#define IRQ_HANDLED
#define IRQ_HANDLED
#define IRQ_RETVAL(x)
#define IRQ_RETVAL(x)
#endif
#endif
...
@@ -179,18 +179,18 @@ enum connection_manager_assoc_states
...
@@ -179,18 +179,18 @@ enum connection_manager_assoc_states
#define IPW_B_MODE 1
#define IPW_B_MODE 1
#define IPW_G_MODE 2
#define IPW_G_MODE 2
/*
/*
* TX Queue Flag Definitions
* TX Queue Flag Definitions
*/
*/
/* abort attempt if mgmt frame is rx'd */
/* abort attempt if mgmt frame is rx'd */
#define DCT_FLAG_ABORT_MGMT 0x01
#define DCT_FLAG_ABORT_MGMT 0x01
/* require CTS */
/* require CTS */
#define DCT_FLAG_CTS_REQUIRED 0x02
#define DCT_FLAG_CTS_REQUIRED 0x02
/* use short preamble */
/* use short preamble */
#define DCT_FLAG_SHORT_PREMBL 0x04
#define DCT_FLAG_SHORT_PREMBL 0x04
/* RTS/CTS first */
/* RTS/CTS first */
#define DCT_FLAG_RTS_REQD 0x08
#define DCT_FLAG_RTS_REQD 0x08
...
@@ -205,7 +205,7 @@ enum connection_manager_assoc_states
...
@@ -205,7 +205,7 @@ enum connection_manager_assoc_states
#define DCT_FLAG_TSF_REQD 0x40
#define DCT_FLAG_TSF_REQD 0x40
/* ACK rx is expected to follow */
/* ACK rx is expected to follow */
#define DCT_FLAG_ACK_REQD 0x80
#define DCT_FLAG_ACK_REQD 0x80
#define DCT_FLAG_EXT_MODE_CCK 0x01
#define DCT_FLAG_EXT_MODE_CCK 0x01
#define DCT_FLAG_EXT_MODE_OFDM 0x00
#define DCT_FLAG_EXT_MODE_OFDM 0x00
...
@@ -238,13 +238,13 @@ enum connection_manager_assoc_states
...
@@ -238,13 +238,13 @@ enum connection_manager_assoc_states
#define HOST_NOTIFICATION_CHANNEL_SWITCHED 23
#define HOST_NOTIFICATION_CHANNEL_SWITCHED 23
#define HOST_NOTIFICATION_RX_DURING_QUIET_PERIOD 24
#define HOST_NOTIFICATION_RX_DURING_QUIET_PERIOD 24
#define HOST_NOTIFICATION_NOISE_STATS 25
#define HOST_NOTIFICATION_NOISE_STATS 25
#define HOST_NOTIFICATION_S36_MEASUREMENT_ACCEPTED 30
#define HOST_NOTIFICATION_S36_MEASUREMENT_ACCEPTED 30
#define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 31
#define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 31
#define HOST_NOTIFICATION_STATUS_BEACON_MISSING 1
#define HOST_NOTIFICATION_STATUS_BEACON_MISSING 1
#define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 24
#define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 24
#define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8
#define IPW_MB_ROAMING_THRESHOLD_DEFAULT 8
#define IPW_REAL_RATE_RX_PACKET_THRESHOLD 300
#define IPW_REAL_RATE_RX_PACKET_THRESHOLD 300
#define MACADRR_BYTE_LEN 6
#define MACADRR_BYTE_LEN 6
...
@@ -258,7 +258,7 @@ enum connection_manager_assoc_states
...
@@ -258,7 +258,7 @@ enum connection_manager_assoc_states
/**
/**
* Generic queue structure
* Generic queue structure
*
*
* Contains common data for Rx and Tx queues
* Contains common data for Rx and Tx queues
*/
*/
struct
clx2_queue
{
struct
clx2_queue
{
...
@@ -318,7 +318,7 @@ struct machdr24
...
@@ -318,7 +318,7 @@ struct machdr24
// TX TFD with 32 byte MAC Header
// TX TFD with 32 byte MAC Header
struct
tx_tfd_32
struct
tx_tfd_32
{
{
struct
machdr32
mchdr
;
// 32
struct
machdr32
mchdr
;
// 32
u32
uivplaceholder
[
2
];
// 8
u32
uivplaceholder
[
2
];
// 8
}
__attribute__
((
packed
))
;
}
__attribute__
((
packed
))
;
...
@@ -368,8 +368,8 @@ struct tfd_data {
...
@@ -368,8 +368,8 @@ struct tfd_data {
/* Tx Parameters */
/* Tx Parameters */
u8
cmd_id
;
u8
cmd_id
;
u8
seq_num
;
u8
seq_num
;
u16
len
;
u16
len
;
u8
priority
;
u8
priority
;
u8
tx_flags
;
u8
tx_flags
;
u8
tx_flags_ext
;
u8
tx_flags_ext
;
...
@@ -378,10 +378,10 @@ struct tfd_data {
...
@@ -378,10 +378,10 @@ struct tfd_data {
u8
rate
;
u8
rate
;
u8
antenna
;
u8
antenna
;
u16
next_packet_duration
;
u16
next_packet_duration
;
u16
next_frag_len
;
u16
next_frag_len
;
u16
back_off_counter
;
//////txop;
u16
back_off_counter
;
//////txop;
u8
retrylimit
;
u8
retrylimit
;
u16
cwcurrent
;
u16
cwcurrent
;
u8
reserved3
;
u8
reserved3
;
/* 802.11 MAC Header */
/* 802.11 MAC Header */
...
@@ -457,29 +457,29 @@ struct rate_histogram
...
@@ -457,29 +457,29 @@ struct rate_histogram
}
failed
;
}
failed
;
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
/* statistics command response */
/* statistics command response */
struct
ipw_cmd_stats
{
struct
ipw_cmd_stats
{
u8
cmd_id
;
u8
cmd_id
;
u8
seq_num
;
u8
seq_num
;
u16
good_sfd
;
u16
good_sfd
;
u16
bad_plcp
;
u16
bad_plcp
;
u16
wrong_bssid
;
u16
wrong_bssid
;
u16
valid_mpdu
;
u16
valid_mpdu
;
u16
bad_mac_header
;
u16
bad_mac_header
;
u16
reserved_frame_types
;
u16
reserved_frame_types
;
u16
rx_ina
;
u16
rx_ina
;
u16
bad_crc32
;
u16
bad_crc32
;
u16
invalid_cts
;
u16
invalid_cts
;
u16
invalid_acks
;
u16
invalid_acks
;
u16
long_distance_ina_fina
;
u16
long_distance_ina_fina
;
u16
dsp_silence_unreachable
;
u16
dsp_silence_unreachable
;
u16
accumulated_rssi
;
u16
accumulated_rssi
;
u16
rx_ovfl_frame_tossed
;
u16
rx_ovfl_frame_tossed
;
u16
rssi_silence_threshold
;
u16
rssi_silence_threshold
;
u16
rx_ovfl_frame_supplied
;
u16
rx_ovfl_frame_supplied
;
u16
last_rx_frame_signal
;
u16
last_rx_frame_signal
;
u16
last_rx_frame_noise
;
u16
last_rx_frame_noise
;
u16
rx_autodetec_no_ofdm
;
u16
rx_autodetec_no_ofdm
;
u16
rx_autodetec_no_barker
;
u16
rx_autodetec_no_barker
;
u16
reserved
;
u16
reserved
;
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
...
@@ -568,11 +568,11 @@ struct ipw_rx_notification {
...
@@ -568,11 +568,11 @@ struct ipw_rx_notification {
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
struct
ipw_rx_frame
{
struct
ipw_rx_frame
{
u32
reserved1
;
u32
reserved1
;
u8
parent_tsf
[
4
];
// fw_use[0] is boolean for OUR_TSF_IS_GREATER
u8
parent_tsf
[
4
];
// fw_use[0] is boolean for OUR_TSF_IS_GREATER
u8
received_channel
;
// The channel that this frame was received on.
u8
received_channel
;
// The channel that this frame was received on.
// Note that for .11b this does not have to be
// Note that for .11b this does not have to be
// the same as the channel that it was sent.
// the same as the channel that it was sent.
// Filled by LMAC
// Filled by LMAC
u8
frameStatus
;
u8
frameStatus
;
u8
rate
;
u8
rate
;
...
@@ -583,13 +583,13 @@ struct ipw_rx_frame {
...
@@ -583,13 +583,13 @@ struct ipw_rx_frame {
u16
noise
;
u16
noise
;
u8
antennaAndPhy
;
u8
antennaAndPhy
;
u8
control
;
// control bit should be on in bg
u8
control
;
// control bit should be on in bg
u8
rtscts_rate
;
// rate of rts or cts (in rts cts sequence rate
u8
rtscts_rate
;
// rate of rts or cts (in rts cts sequence rate
// is identical)
// is identical)
u8
rtscts_seen
;
// 0x1 RTS seen ; 0x2 CTS seen
u8
rtscts_seen
;
// 0x1 RTS seen ; 0x2 CTS seen
u16
length
;
u16
length
;
u8
data
[
0
];
u8
data
[
0
];
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
struct
ipw_rx_header
{
struct
ipw_rx_header
{
u8
message_type
;
u8
message_type
;
u8
rx_seq_num
;
u8
rx_seq_num
;
...
@@ -716,8 +716,8 @@ struct ipw_wep_key
...
@@ -716,8 +716,8 @@ struct ipw_wep_key
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
struct
ipw_tgi_tx_key
struct
ipw_tgi_tx_key
{
{
u8
key_id
;
u8
key_id
;
u8
security_type
;
u8
security_type
;
u8
station_index
;
u8
station_index
;
u8
flags
;
u8
flags
;
...
@@ -727,7 +727,7 @@ struct ipw_tgi_tx_key
...
@@ -727,7 +727,7 @@ struct ipw_tgi_tx_key
#define IPW_SCAN_CHANNELS 54
#define IPW_SCAN_CHANNELS 54
struct
ipw_scan_request
struct
ipw_scan_request
{
{
u8
scan_type
;
u8
scan_type
;
u16
dwell_time
;
u16
dwell_time
;
...
@@ -753,7 +753,7 @@ struct ipw_scan_request_ext
...
@@ -753,7 +753,7 @@ struct ipw_scan_request_ext
u16
dwell_time
[
IPW_SCAN_TYPES
];
u16
dwell_time
[
IPW_SCAN_TYPES
];
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
extern
inline
u8
ipw_get_scan_type
(
struct
ipw_scan_request_ext
*
scan
,
u8
index
)
extern
inline
u8
ipw_get_scan_type
(
struct
ipw_scan_request_ext
*
scan
,
u8
index
)
{
{
if
(
index
%
2
)
if
(
index
%
2
)
return
scan
->
scan_type
[
index
/
2
]
&
0x0F
;
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,16 +761,16 @@ extern inline u8 ipw_get_scan_type(struct ipw_scan_request_ext *scan, u8 index)
return
(
scan
->
scan_type
[
index
/
2
]
&
0xF0
)
>>
4
;
return
(
scan
->
scan_type
[
index
/
2
]
&
0xF0
)
>>
4
;
}
}
extern
inline
void
ipw_set_scan_type
(
struct
ipw_scan_request_ext
*
scan
,
extern
inline
void
ipw_set_scan_type
(
struct
ipw_scan_request_ext
*
scan
,
u8
index
,
u8
scan_type
)
u8
index
,
u8
scan_type
)
{
{
if
(
index
%
2
)
if
(
index
%
2
)
scan
->
scan_type
[
index
/
2
]
=
scan
->
scan_type
[
index
/
2
]
=
(
scan
->
scan_type
[
index
/
2
]
&
0xF0
)
|
(
scan
->
scan_type
[
index
/
2
]
&
0xF0
)
|
(
scan_type
&
0x0F
);
(
scan_type
&
0x0F
);
else
else
scan
->
scan_type
[
index
/
2
]
=
scan
->
scan_type
[
index
/
2
]
=
(
scan
->
scan_type
[
index
/
2
]
&
0x0F
)
|
(
scan
->
scan_type
[
index
/
2
]
&
0x0F
)
|
((
scan_type
&
0x0F
)
<<
4
);
((
scan_type
&
0x0F
)
<<
4
);
}
}
...
@@ -909,14 +909,14 @@ struct ipw_sensitivity_calib
...
@@ -909,14 +909,14 @@ struct ipw_sensitivity_calib
/**
/**
* Host command structure.
* Host command structure.
*
*
* On input, the following fields should be filled:
* On input, the following fields should be filled:
* - cmd
* - cmd
* - len
* - len
* - status_len
* - status_len
* - param (if needed)
* - param (if needed)
*
*
* On output,
* On output,
* - \a status contains status;
* - \a status contains status;
* - \a param filled with status parameters.
* - \a param filled with status parameters.
*/
*/
...
@@ -926,8 +926,8 @@ struct ipw_cmd {
...
@@ -926,8 +926,8 @@ struct ipw_cmd {
u32
status_len
;
/**< How many 32 bit parameters in the status */
u32
status_len
;
/**< How many 32 bit parameters in the status */
u32
len
;
/**< incoming parameters length, bytes */
u32
len
;
/**< incoming parameters length, bytes */
/**
/**
* command parameters.
* command parameters.
* There should be enough space for incoming and
* There should be enough space for incoming and
* outcoming parameters.
* outcoming parameters.
* Incoming parameters listed 1-st, followed by outcoming params.
* Incoming parameters listed 1-st, followed by outcoming params.
* nParams=(len+3)/4+status_len
* nParams=(len+3)/4+status_len
...
@@ -955,8 +955,8 @@ struct ipw_cmd {
...
@@ -955,8 +955,8 @@ struct ipw_cmd {
#define STATUS_STATE_PENDING (1<<13)
#define STATUS_STATE_PENDING (1<<13)
#define STATUS_SCAN_PENDING (1<<20)
#define STATUS_SCAN_PENDING (1<<20)
#define STATUS_SCANNING (1<<21)
#define STATUS_SCANNING (1<<21)
#define STATUS_SCAN_ABORTING (1<<22)
#define STATUS_SCAN_ABORTING (1<<22)
#define STATUS_INDIRECT_BYTE (1<<28)
/* sysfs entry configured for access */
#define STATUS_INDIRECT_BYTE (1<<28)
/* sysfs entry configured for access */
#define STATUS_INDIRECT_DWORD (1<<29)
/* sysfs entry configured for access */
#define STATUS_INDIRECT_DWORD (1<<29)
/* sysfs entry configured for access */
...
@@ -1009,7 +1009,7 @@ struct ipw_priv {
...
@@ -1009,7 +1009,7 @@ struct ipw_priv {
/* pci hardware address support */
/* pci hardware address support */
void
__iomem
*
hw_base
;
void
__iomem
*
hw_base
;
unsigned
long
hw_len
;
unsigned
long
hw_len
;
struct
fw_image_desc
sram_desc
;
struct
fw_image_desc
sram_desc
;
/* result of ucode download */
/* result of ucode download */
...
@@ -1036,7 +1036,7 @@ struct ipw_priv {
...
@@ -1036,7 +1036,7 @@ struct ipw_priv {
int
rx_pend_max
;
/**< maximum pending buffers for one IRQ */
int
rx_pend_max
;
/**< maximum pending buffers for one IRQ */
u32
hcmd_seq
;
/**< sequence number for hcmd */
u32
hcmd_seq
;
/**< sequence number for hcmd */
u32
missed_beacon_threshold
;
u32
missed_beacon_threshold
;
u32
roaming_threshold
;
u32
roaming_threshold
;
struct
ipw_associate
assoc_request
;
struct
ipw_associate
assoc_request
;
struct
ieee80211_network
*
assoc_network
;
struct
ieee80211_network
*
assoc_network
;
...
@@ -1071,11 +1071,11 @@ struct ipw_priv {
...
@@ -1071,11 +1071,11 @@ struct ipw_priv {
u8
channel
;
u8
channel
;
struct
ipw_sys_config
sys_config
;
struct
ipw_sys_config
sys_config
;
u32
power_mode
;
u32
power_mode
;
u8
bssid
[
ETH_ALEN
];
u8
bssid
[
ETH_ALEN
];
u16
rts_threshold
;
u16
rts_threshold
;
u8
mac_addr
[
ETH_ALEN
];
u8
mac_addr
[
ETH_ALEN
];
u8
num_stations
;
u8
num_stations
;
u8
stations
[
MAX_STATIONS
][
ETH_ALEN
];
u8
stations
[
MAX_STATIONS
][
ETH_ALEN
];
u32
notif_missed_beacons
;
u32
notif_missed_beacons
;
...
@@ -1094,13 +1094,13 @@ struct ipw_priv {
...
@@ -1094,13 +1094,13 @@ struct ipw_priv {
u32
quality
;
u32
quality
;
/* eeprom */
/* eeprom */
u8
eeprom
[
0x100
];
/* 256 bytes of eeprom */
u8
eeprom
[
0x100
];
/* 256 bytes of eeprom */
int
eeprom_delay
;
int
eeprom_delay
;
struct
iw_statistics
wstats
;
struct
iw_statistics
wstats
;
struct
workqueue_struct
*
workqueue
;
struct
workqueue_struct
*
workqueue
;
struct
work_struct
adhoc_check
;
struct
work_struct
adhoc_check
;
struct
work_struct
associate
;
struct
work_struct
associate
;
struct
work_struct
disassociate
;
struct
work_struct
disassociate
;
...
@@ -1125,7 +1125,7 @@ struct ipw_priv {
...
@@ -1125,7 +1125,7 @@ struct ipw_priv {
#define IPW_DEFAULT_TX_POWER 0x14
#define IPW_DEFAULT_TX_POWER 0x14
u8
tx_power
;
u8
tx_power
;
#ifdef CONFIG_PM
#ifdef CONFIG_PM
u32
pm_state
[
16
];
u32
pm_state
[
16
];
#endif
#endif
...
@@ -1159,7 +1159,7 @@ do { if (ipw_debug_level & (level)) \
...
@@ -1159,7 +1159,7 @@ do { if (ipw_debug_level & (level)) \
* list here in the form of:
* list here in the form of:
*
*
* #define IPW_DL_xxxx VALUE
* #define IPW_DL_xxxx VALUE
*
*
* shifting value to the left one bit from the previous entry. xxxx should be
* shifting value to the left one bit from the previous entry. xxxx should be
* the name of the classification (for example, WEP)
* the name of the classification (for example, WEP)
*
*
...
@@ -1173,7 +1173,7 @@ do { if (ipw_debug_level & (level)) \
...
@@ -1173,7 +1173,7 @@ do { if (ipw_debug_level & (level)) \
*
*
* you simply need to add your entry to the ipw_debug_levels array.
* you simply need to add your entry to the ipw_debug_levels array.
*
*
* If you do not see debug_level in /proc/net/ipw then you do not have
* If you do not see debug_level in /proc/net/ipw then you do not have
* CONFIG_IPW_DEBUG defined in your kernel configuration
* CONFIG_IPW_DEBUG defined in your kernel configuration
*
*
*/
*/
...
@@ -1247,7 +1247,7 @@ do { if (ipw_debug_level & (level)) \
...
@@ -1247,7 +1247,7 @@ do { if (ipw_debug_level & (level)) \
#define DINO_ENABLE_SYSTEM 0x80
#define DINO_ENABLE_SYSTEM 0x80
#define DINO_ENABLE_CS 0x40
#define DINO_ENABLE_CS 0x40
#define DINO_RXFIFO_DATA 0x01
#define DINO_RXFIFO_DATA 0x01
#define DINO_CONTROL_REG 0x00200000
#define DINO_CONTROL_REG 0x00200000
#define CX2_INTA_RW 0x00000008
#define CX2_INTA_RW 0x00000008
...
@@ -1320,7 +1320,7 @@ do { if (ipw_debug_level & (level)) \
...
@@ -1320,7 +1320,7 @@ do { if (ipw_debug_level & (level)) \
#define DMA_CONTROL_SMALL_CB_CONST_VALUE 0x00540000
#define DMA_CONTROL_SMALL_CB_CONST_VALUE 0x00540000
#define DMA_CB_STOP_AND_ABORT 0x00000C00
#define DMA_CB_STOP_AND_ABORT 0x00000C00
#define DMA_CB_START 0x00000100
#define DMA_CB_START 0x00000100
#define CX2_SHARED_SRAM_SIZE 0x00030000
#define CX2_SHARED_SRAM_SIZE 0x00030000
...
@@ -1410,7 +1410,7 @@ do { if (ipw_debug_level & (level)) \
...
@@ -1410,7 +1410,7 @@ do { if (ipw_debug_level & (level)) \
#define EEPROM_NIC_TYPE_HP 4
#define EEPROM_NIC_TYPE_HP 4
#define FW_MEM_REG_LOWER_BOUND 0x00300000
#define FW_MEM_REG_LOWER_BOUND 0x00300000
#define FW_MEM_REG_EEPROM_ACCESS (FW_MEM_REG_LOWER_BOUND + 0x40)
#define FW_MEM_REG_EEPROM_ACCESS (FW_MEM_REG_LOWER_BOUND + 0x40)
#define EEPROM_BIT_SK (1<<0)
#define EEPROM_BIT_SK (1<<0)
#define EEPROM_BIT_CS (1<<1)
#define EEPROM_BIT_CS (1<<1)
...
@@ -1506,15 +1506,15 @@ enum {
...
@@ -1506,15 +1506,15 @@ enum {
#define IPW_RATE_CONNECT 0
#define IPW_RATE_CONNECT 0
/*
/*
* Rate values and masks
* Rate values and masks
*/
*/
#define IPW_TX_RATE_1MB 0x0A
#define IPW_TX_RATE_1MB 0x0A
#define IPW_TX_RATE_2MB 0x14
#define IPW_TX_RATE_2MB 0x14
#define IPW_TX_RATE_5MB 0x37
#define IPW_TX_RATE_5MB 0x37
#define IPW_TX_RATE_6MB 0x0D
#define IPW_TX_RATE_6MB 0x0D
#define IPW_TX_RATE_9MB 0x0F
#define IPW_TX_RATE_9MB 0x0F
#define IPW_TX_RATE_11MB 0x6E
#define IPW_TX_RATE_11MB 0x6E
#define IPW_TX_RATE_12MB 0x05
#define IPW_TX_RATE_12MB 0x05
#define IPW_TX_RATE_18MB 0x07
#define IPW_TX_RATE_18MB 0x07
#define IPW_TX_RATE_24MB 0x09
#define IPW_TX_RATE_24MB 0x09
...
@@ -1525,25 +1525,25 @@ enum {
...
@@ -1525,25 +1525,25 @@ enum {
#define IPW_ORD_TABLE_ID_MASK 0x0000FF00
#define IPW_ORD_TABLE_ID_MASK 0x0000FF00
#define IPW_ORD_TABLE_VALUE_MASK 0x000000FF
#define IPW_ORD_TABLE_VALUE_MASK 0x000000FF
#define IPW_ORD_TABLE_0_MASK 0x0000F000
#define IPW_ORD_TABLE_0_MASK 0x0000F000
#define IPW_ORD_TABLE_1_MASK 0x0000F100
#define IPW_ORD_TABLE_1_MASK 0x0000F100
#define IPW_ORD_TABLE_2_MASK 0x0000F200
#define IPW_ORD_TABLE_2_MASK 0x0000F200
#define IPW_ORD_TABLE_3_MASK 0x0000F300
#define IPW_ORD_TABLE_3_MASK 0x0000F300
#define IPW_ORD_TABLE_4_MASK 0x0000F400
#define IPW_ORD_TABLE_4_MASK 0x0000F400
#define IPW_ORD_TABLE_5_MASK 0x0000F500
#define IPW_ORD_TABLE_5_MASK 0x0000F500
#define IPW_ORD_TABLE_6_MASK 0x0000F600
#define IPW_ORD_TABLE_6_MASK 0x0000F600
#define IPW_ORD_TABLE_7_MASK 0x0000F700
#define IPW_ORD_TABLE_7_MASK 0x0000F700
/*
/*
* Table 0 Entries (all entries are 32 bits)
* Table 0 Entries (all entries are 32 bits)
*/
*/
enum
{
enum
{
IPW_ORD_STAT_TX_CURR_RATE
=
IPW_ORD_TABLE_0_MASK
+
1
,
IPW_ORD_STAT_TX_CURR_RATE
=
IPW_ORD_TABLE_0_MASK
+
1
,
IPW_ORD_STAT_FRAG_TRESHOLD
,
IPW_ORD_STAT_FRAG_TRESHOLD
,
IPW_ORD_STAT_RTS_THRESHOLD
,
IPW_ORD_STAT_RTS_THRESHOLD
,
IPW_ORD_STAT_TX_HOST_REQUESTS
,
IPW_ORD_STAT_TX_HOST_REQUESTS
,
IPW_ORD_STAT_TX_HOST_COMPLETE
,
IPW_ORD_STAT_TX_HOST_COMPLETE
,
IPW_ORD_STAT_TX_DIR_DATA
,
IPW_ORD_STAT_TX_DIR_DATA
,
IPW_ORD_STAT_TX_DIR_DATA_B_1
,
IPW_ORD_STAT_TX_DIR_DATA_B_1
,
IPW_ORD_STAT_TX_DIR_DATA_B_2
,
IPW_ORD_STAT_TX_DIR_DATA_B_2
,
IPW_ORD_STAT_TX_DIR_DATA_B_5_5
,
IPW_ORD_STAT_TX_DIR_DATA_B_5_5
,
...
@@ -1561,18 +1561,18 @@ enum {
...
@@ -1561,18 +1561,18 @@ enum {
IPW_ORD_STAT_TX_DIR_DATA_G_5_5
,
IPW_ORD_STAT_TX_DIR_DATA_G_5_5
,
IPW_ORD_STAT_TX_DIR_DATA_G_6
,
IPW_ORD_STAT_TX_DIR_DATA_G_6
,
IPW_ORD_STAT_TX_DIR_DATA_G_9
,
IPW_ORD_STAT_TX_DIR_DATA_G_9
,
IPW_ORD_STAT_TX_DIR_DATA_G_11
,
IPW_ORD_STAT_TX_DIR_DATA_G_11
,
IPW_ORD_STAT_TX_DIR_DATA_G_12
,
IPW_ORD_STAT_TX_DIR_DATA_G_12
,
IPW_ORD_STAT_TX_DIR_DATA_G_18
,
IPW_ORD_STAT_TX_DIR_DATA_G_18
,
IPW_ORD_STAT_TX_DIR_DATA_G_24
,
IPW_ORD_STAT_TX_DIR_DATA_G_24
,
IPW_ORD_STAT_TX_DIR_DATA_G_36
,
IPW_ORD_STAT_TX_DIR_DATA_G_36
,
IPW_ORD_STAT_TX_DIR_DATA_G_48
,
IPW_ORD_STAT_TX_DIR_DATA_G_48
,
IPW_ORD_STAT_TX_DIR_DATA_G_54
,
IPW_ORD_STAT_TX_DIR_DATA_G_54
,
IPW_ORD_STAT_TX_NON_DIR_DATA
,
IPW_ORD_STAT_TX_NON_DIR_DATA
,
IPW_ORD_STAT_TX_NON_DIR_DATA_B_1
,
IPW_ORD_STAT_TX_NON_DIR_DATA_B_1
,
IPW_ORD_STAT_TX_NON_DIR_DATA_B_2
,
IPW_ORD_STAT_TX_NON_DIR_DATA_B_2
,
IPW_ORD_STAT_TX_NON_DIR_DATA_B_5_5
,
IPW_ORD_STAT_TX_NON_DIR_DATA_B_5_5
,
IPW_ORD_STAT_TX_NON_DIR_DATA_B_11
,
IPW_ORD_STAT_TX_NON_DIR_DATA_B_11
,
/* Hole */
/* Hole */
...
@@ -1586,7 +1586,7 @@ enum {
...
@@ -1586,7 +1586,7 @@ enum {
IPW_ORD_STAT_TX_NON_DIR_DATA_G_5_5
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_5_5
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_6
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_6
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_9
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_9
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_11
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_11
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_12
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_12
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_18
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_18
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_24
,
IPW_ORD_STAT_TX_NON_DIR_DATA_G_24
,
...
@@ -1601,12 +1601,12 @@ enum {
...
@@ -1601,12 +1601,12 @@ enum {
IPW_ORD_STAT_FULL_SCANS
,
IPW_ORD_STAT_FULL_SCANS
,
IPW_ORD_STAT_PARTIAL_SCANS
,
IPW_ORD_STAT_PARTIAL_SCANS
,
IPW_ORD_STAT_TGH_ABORTED_SCANS
,
IPW_ORD_STAT_TGH_ABORTED_SCANS
,
IPW_ORD_STAT_TX_TOTAL_BYTES
,
IPW_ORD_STAT_TX_TOTAL_BYTES
,
IPW_ORD_STAT_CURR_RSSI_RAW
,
IPW_ORD_STAT_CURR_RSSI_RAW
,
IPW_ORD_STAT_RX_BEACON
,
IPW_ORD_STAT_RX_BEACON
,
IPW_ORD_STAT_MISSED_BEACONS
,
IPW_ORD_STAT_MISSED_BEACONS
,
IPW_ORD_TABLE_0_LAST
IPW_ORD_TABLE_0_LAST
};
};
#define IPW_RSSI_TO_DBM 112
#define IPW_RSSI_TO_DBM 112
...
@@ -1626,15 +1626,15 @@ enum {
...
@@ -1626,15 +1626,15 @@ enum {
* ADDAPTER_MAC: 6 byte MAC address
* ADDAPTER_MAC: 6 byte MAC address
* RTC: 4 byte clock
* RTC: 4 byte clock
*/
*/
enum
{
enum
{
IPW_ORD_STAT_FW_VERSION
=
IPW_ORD_TABLE_2_MASK
|
1
,
IPW_ORD_STAT_FW_VERSION
=
IPW_ORD_TABLE_2_MASK
|
1
,
IPW_ORD_STAT_FW_DATE
,
IPW_ORD_STAT_FW_DATE
,
IPW_ORD_STAT_UCODE_VERSION
,
IPW_ORD_STAT_UCODE_VERSION
,
IPW_ORD_STAT_UCODE_DATE
,
IPW_ORD_STAT_UCODE_DATE
,
IPW_ORD_STAT_ADAPTER_MAC
,
IPW_ORD_STAT_ADAPTER_MAC
,
IPW_ORD_STAT_RTC
,
IPW_ORD_STAT_RTC
,
IPW_ORD_TABLE_2_LAST
IPW_ORD_TABLE_2_LAST
};
};
/* Table 3 */
/* Table 3 */
enum
{
enum
{
...
@@ -1711,7 +1711,7 @@ struct host_cmd {
...
@@ -1711,7 +1711,7 @@ struct host_cmd {
#define CFG_BT_COEXISTENCE_WME_OVER_BT 0x08
#define CFG_BT_COEXISTENCE_WME_OVER_BT 0x08
#define CFG_BT_COEXISTENCE_OOB 0x10
#define CFG_BT_COEXISTENCE_OOB 0x10
#define CFG_BT_COEXISTENCE_MAX 0xFF
#define CFG_BT_COEXISTENCE_MAX 0xFF
#define CFG_BT_COEXISTENCE_DEF 0x80
/* read Bt from EEPROM*/
#define CFG_BT_COEXISTENCE_DEF 0x80
/* read Bt from EEPROM*/
#define CFG_CTS_TO_ITSELF_ENABLED_MIN 0x0
#define CFG_CTS_TO_ITSELF_ENABLED_MIN 0x0
#define CFG_CTS_TO_ITSELF_ENABLED_MAX 0x1
#define CFG_CTS_TO_ITSELF_ENABLED_MAX 0x1
...
@@ -1722,9 +1722,9 @@ struct host_cmd {
...
@@ -1722,9 +1722,9 @@ struct host_cmd {
#define CFG_SYS_ANTENNA_B 0x003
#define CFG_SYS_ANTENNA_B 0x003
/*
/*
* The definitions below were lifted off the ipw2100 driver, which only
* The definitions below were lifted off the ipw2100 driver, which only
* supports 'b' mode, so I'm sure these are not exactly correct.
* supports 'b' mode, so I'm sure these are not exactly correct.
*
*
* Somebody fix these!!
* Somebody fix these!!
*/
*/
#define REG_MIN_CHANNEL 0
#define REG_MIN_CHANNEL 0
...
@@ -1733,11 +1733,11 @@ struct host_cmd {
...
@@ -1733,11 +1733,11 @@ struct host_cmd {
#define REG_CHANNEL_MASK 0x00003FFF
#define REG_CHANNEL_MASK 0x00003FFF
#define IPW_IBSS_11B_DEFAULT_MASK 0x87ff
#define IPW_IBSS_11B_DEFAULT_MASK 0x87ff
static
const
long
ipw_frequencies
[]
=
{
static
const
long
ipw_frequencies
[]
=
{
2412
,
2417
,
2422
,
2427
,
2412
,
2417
,
2422
,
2427
,
2432
,
2437
,
2442
,
2447
,
2432
,
2437
,
2442
,
2447
,
2452
,
2457
,
2462
,
2467
,
2452
,
2457
,
2462
,
2467
,
2472
,
2484
2472
,
2484
};
};
#define FREQ_COUNT ARRAY_SIZE(ipw_frequencies)
#define FREQ_COUNT ARRAY_SIZE(ipw_frequencies)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment