Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
ebf0d90d
Commit
ebf0d90d
authored
Aug 26, 2011
by
Stanislaw Gruszka
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
iwlegacy: s/statistics/stats/
Signed-off-by:
Stanislaw Gruszka
<
sgruszka@redhat.com
>
parent
b73bb5f1
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
304 additions
and
304 deletions
+304
-304
drivers/net/wireless/iwlegacy/iwl-3945-debugfs.c
drivers/net/wireless/iwlegacy/iwl-3945-debugfs.c
+45
-45
drivers/net/wireless/iwlegacy/iwl-3945-rs.c
drivers/net/wireless/iwlegacy/iwl-3945-rs.c
+1
-1
drivers/net/wireless/iwlegacy/iwl-3945.c
drivers/net/wireless/iwlegacy/iwl-3945.c
+22
-22
drivers/net/wireless/iwlegacy/iwl-3945.h
drivers/net/wireless/iwlegacy/iwl-3945.h
+3
-3
drivers/net/wireless/iwlegacy/iwl-4965-calib.c
drivers/net/wireless/iwlegacy/iwl-4965-calib.c
+18
-18
drivers/net/wireless/iwlegacy/iwl-4965-debugfs.c
drivers/net/wireless/iwlegacy/iwl-4965-debugfs.c
+47
-47
drivers/net/wireless/iwlegacy/iwl-4965-hw.h
drivers/net/wireless/iwlegacy/iwl-4965-hw.h
+2
-2
drivers/net/wireless/iwlegacy/iwl-4965-rs.c
drivers/net/wireless/iwlegacy/iwl-4965-rs.c
+2
-2
drivers/net/wireless/iwlegacy/iwl-4965-rx.c
drivers/net/wireless/iwlegacy/iwl-4965-rx.c
+33
-33
drivers/net/wireless/iwlegacy/iwl-4965.c
drivers/net/wireless/iwlegacy/iwl-4965.c
+6
-6
drivers/net/wireless/iwlegacy/iwl-4965.h
drivers/net/wireless/iwlegacy/iwl-4965.h
+2
-2
drivers/net/wireless/iwlegacy/iwl-commands.h
drivers/net/wireless/iwlegacy/iwl-commands.h
+56
-56
drivers/net/wireless/iwlegacy/iwl-core.c
drivers/net/wireless/iwlegacy/iwl-core.c
+10
-10
drivers/net/wireless/iwlegacy/iwl-core.h
drivers/net/wireless/iwlegacy/iwl-core.h
+3
-3
drivers/net/wireless/iwlegacy/iwl-debugfs.c
drivers/net/wireless/iwlegacy/iwl-debugfs.c
+14
-14
drivers/net/wireless/iwlegacy/iwl-dev.h
drivers/net/wireless/iwlegacy/iwl-dev.h
+16
-16
drivers/net/wireless/iwlegacy/iwl-legacy-rs.h
drivers/net/wireless/iwlegacy/iwl-legacy-rs.h
+1
-1
drivers/net/wireless/iwlegacy/iwl-scan.c
drivers/net/wireless/iwlegacy/iwl-scan.c
+1
-1
drivers/net/wireless/iwlegacy/iwl3945-base.c
drivers/net/wireless/iwlegacy/iwl3945-base.c
+5
-5
drivers/net/wireless/iwlegacy/iwl4965-base.c
drivers/net/wireless/iwlegacy/iwl4965-base.c
+17
-17
No files found.
drivers/net/wireless/iwlegacy/iwl-3945-debugfs.c
View file @
ebf0d90d
...
@@ -29,22 +29,22 @@
...
@@ -29,22 +29,22 @@
#include "iwl-3945-debugfs.h"
#include "iwl-3945-debugfs.h"
static
int
il3945_stat
istic
s_flag
(
struct
il_priv
*
il
,
char
*
buf
,
int
bufsz
)
static
int
il3945_stats_flag
(
struct
il_priv
*
il
,
char
*
buf
,
int
bufsz
)
{
{
int
p
=
0
;
int
p
=
0
;
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"Statistics Flag(0x%X):
\n
"
,
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"Statistics Flag(0x%X):
\n
"
,
le32_to_cpu
(
il
->
_3945
.
stat
istic
s
.
flag
));
le32_to_cpu
(
il
->
_3945
.
stats
.
flag
));
if
(
le32_to_cpu
(
il
->
_3945
.
stat
istic
s
.
flag
)
&
if
(
le32_to_cpu
(
il
->
_3945
.
stats
.
flag
)
&
UCODE_STATISTICS_CLEAR_MSK
)
UCODE_STATISTICS_CLEAR_MSK
)
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"
\t
Statistics have been cleared
\n
"
);
"
\t
Statistics have been cleared
\n
"
);
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"
\t
Operational Frequency: %s
\n
"
,
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"
\t
Operational Frequency: %s
\n
"
,
(
le32_to_cpu
(
il
->
_3945
.
stat
istic
s
.
flag
)
&
(
le32_to_cpu
(
il
->
_3945
.
stats
.
flag
)
&
UCODE_STATISTICS_FREQUENCY_MSK
)
UCODE_STATISTICS_FREQUENCY_MSK
)
?
"2.4 GHz"
:
"5.2 GHz"
);
?
"2.4 GHz"
:
"5.2 GHz"
);
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"
\t
TGj Narrow Band: %s
\n
"
,
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"
\t
TGj Narrow Band: %s
\n
"
,
(
le32_to_cpu
(
il
->
_3945
.
stat
istic
s
.
flag
)
&
(
le32_to_cpu
(
il
->
_3945
.
stats
.
flag
)
&
UCODE_STATISTICS_NARROW_BAND_MSK
)
UCODE_STATISTICS_NARROW_BAND_MSK
)
?
"enabled"
:
"disabled"
);
?
"enabled"
:
"disabled"
);
return
p
;
return
p
;
...
@@ -57,14 +57,14 @@ ssize_t il3945_ucode_rx_stats_read(struct file *file,
...
@@ -57,14 +57,14 @@ ssize_t il3945_ucode_rx_stats_read(struct file *file,
struct
il_priv
*
il
=
file
->
private_data
;
struct
il_priv
*
il
=
file
->
private_data
;
int
pos
=
0
;
int
pos
=
0
;
char
*
buf
;
char
*
buf
;
int
bufsz
=
sizeof
(
struct
iwl39_stat
istic
s_rx_phy
)
*
40
+
int
bufsz
=
sizeof
(
struct
iwl39_stats_rx_phy
)
*
40
+
sizeof
(
struct
iwl39_stat
istic
s_rx_non_phy
)
*
40
+
400
;
sizeof
(
struct
iwl39_stats_rx_non_phy
)
*
40
+
400
;
ssize_t
ret
;
ssize_t
ret
;
struct
iwl39_stat
istic
s_rx_phy
*
ofdm
,
*
accum_ofdm
,
*
delta_ofdm
,
struct
iwl39_stats_rx_phy
*
ofdm
,
*
accum_ofdm
,
*
delta_ofdm
,
*
max_ofdm
;
*
max_ofdm
;
struct
iwl39_stat
istic
s_rx_phy
*
cck
,
*
accum_cck
,
*
delta_cck
,
*
max_cck
;
struct
iwl39_stats_rx_phy
*
cck
,
*
accum_cck
,
*
delta_cck
,
*
max_cck
;
struct
iwl39_stat
istic
s_rx_non_phy
*
general
,
*
accum_general
;
struct
iwl39_stats_rx_non_phy
*
general
,
*
accum_general
;
struct
iwl39_stat
istic
s_rx_non_phy
*
delta_general
,
*
max_general
;
struct
iwl39_stats_rx_non_phy
*
delta_general
,
*
max_general
;
if
(
!
il_is_alive
(
il
))
if
(
!
il_is_alive
(
il
))
return
-
EAGAIN
;
return
-
EAGAIN
;
...
@@ -77,23 +77,23 @@ ssize_t il3945_ucode_rx_stats_read(struct file *file,
...
@@ -77,23 +77,23 @@ ssize_t il3945_ucode_rx_stats_read(struct file *file,
/*
/*
* The statistic information display here is based on
* The statistic information display here is based on
* the last stat
istic
s notification from uCode
* the last stats notification from uCode
* might not reflect the current uCode activity
* might not reflect the current uCode activity
*/
*/
ofdm
=
&
il
->
_3945
.
stat
istic
s
.
rx
.
ofdm
;
ofdm
=
&
il
->
_3945
.
stats
.
rx
.
ofdm
;
cck
=
&
il
->
_3945
.
stat
istic
s
.
rx
.
cck
;
cck
=
&
il
->
_3945
.
stats
.
rx
.
cck
;
general
=
&
il
->
_3945
.
stat
istic
s
.
rx
.
general
;
general
=
&
il
->
_3945
.
stats
.
rx
.
general
;
accum_ofdm
=
&
il
->
_3945
.
accum_stat
istic
s
.
rx
.
ofdm
;
accum_ofdm
=
&
il
->
_3945
.
accum_stats
.
rx
.
ofdm
;
accum_cck
=
&
il
->
_3945
.
accum_stat
istic
s
.
rx
.
cck
;
accum_cck
=
&
il
->
_3945
.
accum_stats
.
rx
.
cck
;
accum_general
=
&
il
->
_3945
.
accum_stat
istic
s
.
rx
.
general
;
accum_general
=
&
il
->
_3945
.
accum_stats
.
rx
.
general
;
delta_ofdm
=
&
il
->
_3945
.
delta_stat
istic
s
.
rx
.
ofdm
;
delta_ofdm
=
&
il
->
_3945
.
delta_stats
.
rx
.
ofdm
;
delta_cck
=
&
il
->
_3945
.
delta_stat
istic
s
.
rx
.
cck
;
delta_cck
=
&
il
->
_3945
.
delta_stats
.
rx
.
cck
;
delta_general
=
&
il
->
_3945
.
delta_stat
istic
s
.
rx
.
general
;
delta_general
=
&
il
->
_3945
.
delta_stats
.
rx
.
general
;
max_ofdm
=
&
il
->
_3945
.
max_delta
.
rx
.
ofdm
;
max_ofdm
=
&
il
->
_3945
.
max_delta
.
rx
.
ofdm
;
max_cck
=
&
il
->
_3945
.
max_delta
.
rx
.
cck
;
max_cck
=
&
il
->
_3945
.
max_delta
.
rx
.
cck
;
max_general
=
&
il
->
_3945
.
max_delta
.
rx
.
general
;
max_general
=
&
il
->
_3945
.
max_delta
.
rx
.
general
;
pos
+=
il3945_stat
istic
s_flag
(
il
,
buf
,
bufsz
);
pos
+=
il3945_stats_flag
(
il
,
buf
,
bufsz
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
"%-32s current"
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
"%-32s current"
"acumulative delta max
\n
"
,
"acumulative delta max
\n
"
,
"Statistics_Rx - OFDM:"
);
"Statistics_Rx - OFDM:"
);
...
@@ -332,9 +332,9 @@ ssize_t il3945_ucode_tx_stats_read(struct file *file,
...
@@ -332,9 +332,9 @@ ssize_t il3945_ucode_tx_stats_read(struct file *file,
struct
il_priv
*
il
=
file
->
private_data
;
struct
il_priv
*
il
=
file
->
private_data
;
int
pos
=
0
;
int
pos
=
0
;
char
*
buf
;
char
*
buf
;
int
bufsz
=
(
sizeof
(
struct
iwl39_stat
istic
s_tx
)
*
48
)
+
250
;
int
bufsz
=
(
sizeof
(
struct
iwl39_stats_tx
)
*
48
)
+
250
;
ssize_t
ret
;
ssize_t
ret
;
struct
iwl39_stat
istic
s_tx
*
tx
,
*
accum_tx
,
*
delta_tx
,
*
max_tx
;
struct
iwl39_stats_tx
*
tx
,
*
accum_tx
,
*
delta_tx
,
*
max_tx
;
if
(
!
il_is_alive
(
il
))
if
(
!
il_is_alive
(
il
))
return
-
EAGAIN
;
return
-
EAGAIN
;
...
@@ -347,14 +347,14 @@ ssize_t il3945_ucode_tx_stats_read(struct file *file,
...
@@ -347,14 +347,14 @@ ssize_t il3945_ucode_tx_stats_read(struct file *file,
/*
/*
* The statistic information display here is based on
* The statistic information display here is based on
* the last stat
istic
s notification from uCode
* the last stats notification from uCode
* might not reflect the current uCode activity
* might not reflect the current uCode activity
*/
*/
tx
=
&
il
->
_3945
.
stat
istic
s
.
tx
;
tx
=
&
il
->
_3945
.
stats
.
tx
;
accum_tx
=
&
il
->
_3945
.
accum_stat
istic
s
.
tx
;
accum_tx
=
&
il
->
_3945
.
accum_stats
.
tx
;
delta_tx
=
&
il
->
_3945
.
delta_stat
istic
s
.
tx
;
delta_tx
=
&
il
->
_3945
.
delta_stats
.
tx
;
max_tx
=
&
il
->
_3945
.
max_delta
.
tx
;
max_tx
=
&
il
->
_3945
.
max_delta
.
tx
;
pos
+=
il3945_stat
istic
s_flag
(
il
,
buf
,
bufsz
);
pos
+=
il3945_stats_flag
(
il
,
buf
,
bufsz
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
"%-32s current"
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
"%-32s current"
"acumulative delta max
\n
"
,
"acumulative delta max
\n
"
,
"Statistics_Tx:"
);
"Statistics_Tx:"
);
...
@@ -428,12 +428,12 @@ ssize_t il3945_ucode_general_stats_read(struct file *file,
...
@@ -428,12 +428,12 @@ ssize_t il3945_ucode_general_stats_read(struct file *file,
struct
il_priv
*
il
=
file
->
private_data
;
struct
il_priv
*
il
=
file
->
private_data
;
int
pos
=
0
;
int
pos
=
0
;
char
*
buf
;
char
*
buf
;
int
bufsz
=
sizeof
(
struct
iwl39_stat
istic
s_general
)
*
10
+
300
;
int
bufsz
=
sizeof
(
struct
iwl39_stats_general
)
*
10
+
300
;
ssize_t
ret
;
ssize_t
ret
;
struct
iwl39_stat
istic
s_general
*
general
,
*
accum_general
;
struct
iwl39_stats_general
*
general
,
*
accum_general
;
struct
iwl39_stat
istic
s_general
*
delta_general
,
*
max_general
;
struct
iwl39_stats_general
*
delta_general
,
*
max_general
;
struct
stat
istic
s_dbg
*
dbg
,
*
accum_dbg
,
*
delta_dbg
,
*
max_dbg
;
struct
stats_dbg
*
dbg
,
*
accum_dbg
,
*
delta_dbg
,
*
max_dbg
;
struct
iwl39_stat
istic
s_div
*
div
,
*
accum_div
,
*
delta_div
,
*
max_div
;
struct
iwl39_stats_div
*
div
,
*
accum_div
,
*
delta_div
,
*
max_div
;
if
(
!
il_is_alive
(
il
))
if
(
!
il_is_alive
(
il
))
return
-
EAGAIN
;
return
-
EAGAIN
;
...
@@ -446,22 +446,22 @@ ssize_t il3945_ucode_general_stats_read(struct file *file,
...
@@ -446,22 +446,22 @@ ssize_t il3945_ucode_general_stats_read(struct file *file,
/*
/*
* The statistic information display here is based on
* The statistic information display here is based on
* the last stat
istic
s notification from uCode
* the last stats notification from uCode
* might not reflect the current uCode activity
* might not reflect the current uCode activity
*/
*/
general
=
&
il
->
_3945
.
stat
istic
s
.
general
;
general
=
&
il
->
_3945
.
stats
.
general
;
dbg
=
&
il
->
_3945
.
stat
istic
s
.
general
.
dbg
;
dbg
=
&
il
->
_3945
.
stats
.
general
.
dbg
;
div
=
&
il
->
_3945
.
stat
istic
s
.
general
.
div
;
div
=
&
il
->
_3945
.
stats
.
general
.
div
;
accum_general
=
&
il
->
_3945
.
accum_stat
istic
s
.
general
;
accum_general
=
&
il
->
_3945
.
accum_stats
.
general
;
delta_general
=
&
il
->
_3945
.
delta_stat
istic
s
.
general
;
delta_general
=
&
il
->
_3945
.
delta_stats
.
general
;
max_general
=
&
il
->
_3945
.
max_delta
.
general
;
max_general
=
&
il
->
_3945
.
max_delta
.
general
;
accum_dbg
=
&
il
->
_3945
.
accum_stat
istic
s
.
general
.
dbg
;
accum_dbg
=
&
il
->
_3945
.
accum_stats
.
general
.
dbg
;
delta_dbg
=
&
il
->
_3945
.
delta_stat
istic
s
.
general
.
dbg
;
delta_dbg
=
&
il
->
_3945
.
delta_stats
.
general
.
dbg
;
max_dbg
=
&
il
->
_3945
.
max_delta
.
general
.
dbg
;
max_dbg
=
&
il
->
_3945
.
max_delta
.
general
.
dbg
;
accum_div
=
&
il
->
_3945
.
accum_stat
istic
s
.
general
.
div
;
accum_div
=
&
il
->
_3945
.
accum_stats
.
general
.
div
;
delta_div
=
&
il
->
_3945
.
delta_stat
istic
s
.
general
.
div
;
delta_div
=
&
il
->
_3945
.
delta_stats
.
general
.
div
;
max_div
=
&
il
->
_3945
.
max_delta
.
general
.
div
;
max_div
=
&
il
->
_3945
.
max_delta
.
general
.
div
;
pos
+=
il3945_stat
istic
s_flag
(
il
,
buf
,
bufsz
);
pos
+=
il3945_stats_flag
(
il
,
buf
,
bufsz
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
"%-32s current"
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
"%-32s current"
"acumulative delta max
\n
"
,
"acumulative delta max
\n
"
,
"Statistics_General:"
);
"Statistics_General:"
);
...
...
drivers/net/wireless/iwlegacy/iwl-3945-rs.c
View file @
ebf0d90d
...
@@ -158,7 +158,7 @@ static int il3945_rate_scale_flush_windows(struct il3945_rs_sta *rs_sta)
...
@@ -158,7 +158,7 @@ static int il3945_rate_scale_flush_windows(struct il3945_rs_sta *rs_sta)
/*
/*
* For each rate, if we have collected data on that rate
* For each rate, if we have collected data on that rate
* and it has been more than IL_RATE_WIN_FLUSH
* and it has been more than IL_RATE_WIN_FLUSH
* since we flushed, clear out the gathered stat
istic
s
* since we flushed, clear out the gathered stats
*/
*/
for
(
i
=
0
;
i
<
IL_RATE_COUNT_3945
;
i
++
)
{
for
(
i
=
0
;
i
<
IL_RATE_COUNT_3945
;
i
++
)
{
if
(
!
rs_sta
->
win
[
i
].
counter
)
if
(
!
rs_sta
->
win
[
i
].
counter
)
...
...
drivers/net/wireless/iwlegacy/iwl-3945.c
View file @
ebf0d90d
...
@@ -362,7 +362,7 @@ static void il3945_rx_reply_tx(struct il_priv *il,
...
@@ -362,7 +362,7 @@ static void il3945_rx_reply_tx(struct il_priv *il,
*
*
*****************************************************************************/
*****************************************************************************/
#ifdef CONFIG_IWLEGACY_DEBUGFS
#ifdef CONFIG_IWLEGACY_DEBUGFS
static
void
il3945_accumulative_stat
istic
s
(
struct
il_priv
*
il
,
static
void
il3945_accumulative_stats
(
struct
il_priv
*
il
,
__le32
*
stats
)
__le32
*
stats
)
{
{
int
i
;
int
i
;
...
@@ -370,12 +370,12 @@ static void il3945_accumulative_statistics(struct il_priv *il,
...
@@ -370,12 +370,12 @@ static void il3945_accumulative_statistics(struct il_priv *il,
u32
*
accum_stats
;
u32
*
accum_stats
;
u32
*
delta
,
*
max_delta
;
u32
*
delta
,
*
max_delta
;
prev_stats
=
(
__le32
*
)
&
il
->
_3945
.
stat
istic
s
;
prev_stats
=
(
__le32
*
)
&
il
->
_3945
.
stats
;
accum_stats
=
(
u32
*
)
&
il
->
_3945
.
accum_stat
istic
s
;
accum_stats
=
(
u32
*
)
&
il
->
_3945
.
accum_stats
;
delta
=
(
u32
*
)
&
il
->
_3945
.
delta_stat
istic
s
;
delta
=
(
u32
*
)
&
il
->
_3945
.
delta_stats
;
max_delta
=
(
u32
*
)
&
il
->
_3945
.
max_delta
;
max_delta
=
(
u32
*
)
&
il
->
_3945
.
max_delta
;
for
(
i
=
sizeof
(
__le32
);
i
<
sizeof
(
struct
il3945_notif_stat
istic
s
);
for
(
i
=
sizeof
(
__le32
);
i
<
sizeof
(
struct
il3945_notif_stats
);
i
+=
sizeof
(
__le32
),
stats
++
,
prev_stats
++
,
delta
++
,
i
+=
sizeof
(
__le32
),
stats
++
,
prev_stats
++
,
delta
++
,
max_delta
++
,
accum_stats
++
)
{
max_delta
++
,
accum_stats
++
)
{
if
(
le32_to_cpu
(
*
stats
)
>
le32_to_cpu
(
*
prev_stats
))
{
if
(
le32_to_cpu
(
*
stats
)
>
le32_to_cpu
(
*
prev_stats
))
{
...
@@ -387,30 +387,30 @@ static void il3945_accumulative_statistics(struct il_priv *il,
...
@@ -387,30 +387,30 @@ static void il3945_accumulative_statistics(struct il_priv *il,
}
}
}
}
/* reset accumulative stat
istics for "no-counter" type statistic
s */
/* reset accumulative stat
s for "no-counter" type stat
s */
il
->
_3945
.
accum_stat
istic
s
.
general
.
temperature
=
il
->
_3945
.
accum_stats
.
general
.
temperature
=
il
->
_3945
.
stat
istic
s
.
general
.
temperature
;
il
->
_3945
.
stats
.
general
.
temperature
;
il
->
_3945
.
accum_stat
istic
s
.
general
.
ttl_timestamp
=
il
->
_3945
.
accum_stats
.
general
.
ttl_timestamp
=
il
->
_3945
.
stat
istic
s
.
general
.
ttl_timestamp
;
il
->
_3945
.
stats
.
general
.
ttl_timestamp
;
}
}
#endif
#endif
void
il3945_hw_rx_stat
istic
s
(
struct
il_priv
*
il
,
void
il3945_hw_rx_stats
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
)
struct
il_rx_buf
*
rxb
)
{
{
struct
il_rx_pkt
*
pkt
=
rxb_addr
(
rxb
);
struct
il_rx_pkt
*
pkt
=
rxb_addr
(
rxb
);
D_RX
(
"Statistics notification received (%d vs %d).
\n
"
,
D_RX
(
"Statistics notification received (%d vs %d).
\n
"
,
(
int
)
sizeof
(
struct
il3945_notif_stat
istic
s
),
(
int
)
sizeof
(
struct
il3945_notif_stats
),
le32_to_cpu
(
pkt
->
len_n_flags
)
&
FH_RSCSR_FRAME_SIZE_MSK
);
le32_to_cpu
(
pkt
->
len_n_flags
)
&
FH_RSCSR_FRAME_SIZE_MSK
);
#ifdef CONFIG_IWLEGACY_DEBUGFS
#ifdef CONFIG_IWLEGACY_DEBUGFS
il3945_accumulative_stat
istic
s
(
il
,
(
__le32
*
)
&
pkt
->
u
.
raw
);
il3945_accumulative_stats
(
il
,
(
__le32
*
)
&
pkt
->
u
.
raw
);
#endif
#endif
memcpy
(
&
il
->
_3945
.
stat
istics
,
pkt
->
u
.
raw
,
sizeof
(
il
->
_3945
.
statistic
s
));
memcpy
(
&
il
->
_3945
.
stat
s
,
pkt
->
u
.
raw
,
sizeof
(
il
->
_3945
.
stat
s
));
}
}
void
il3945_reply_stat
istic
s
(
struct
il_priv
*
il
,
void
il3945_reply_stats
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
)
struct
il_rx_buf
*
rxb
)
{
{
struct
il_rx_pkt
*
pkt
=
rxb_addr
(
rxb
);
struct
il_rx_pkt
*
pkt
=
rxb_addr
(
rxb
);
...
@@ -418,16 +418,16 @@ void il3945_reply_statistics(struct il_priv *il,
...
@@ -418,16 +418,16 @@ void il3945_reply_statistics(struct il_priv *il,
if
(
le32_to_cpu
(
*
flag
)
&
UCODE_STATISTICS_CLEAR_MSK
)
{
if
(
le32_to_cpu
(
*
flag
)
&
UCODE_STATISTICS_CLEAR_MSK
)
{
#ifdef CONFIG_IWLEGACY_DEBUGFS
#ifdef CONFIG_IWLEGACY_DEBUGFS
memset
(
&
il
->
_3945
.
accum_stat
istic
s
,
0
,
memset
(
&
il
->
_3945
.
accum_stats
,
0
,
sizeof
(
struct
il3945_notif_stat
istic
s
));
sizeof
(
struct
il3945_notif_stats
));
memset
(
&
il
->
_3945
.
delta_stat
istic
s
,
0
,
memset
(
&
il
->
_3945
.
delta_stats
,
0
,
sizeof
(
struct
il3945_notif_stat
istic
s
));
sizeof
(
struct
il3945_notif_stats
));
memset
(
&
il
->
_3945
.
max_delta
,
0
,
memset
(
&
il
->
_3945
.
max_delta
,
0
,
sizeof
(
struct
il3945_notif_stat
istic
s
));
sizeof
(
struct
il3945_notif_stats
));
#endif
#endif
D_RX
(
"Statistics have been cleared
\n
"
);
D_RX
(
"Statistics have been cleared
\n
"
);
}
}
il3945_hw_rx_stat
istic
s
(
il
,
rxb
);
il3945_hw_rx_stats
(
il
,
rxb
);
}
}
...
@@ -437,7 +437,7 @@ void il3945_reply_statistics(struct il_priv *il,
...
@@ -437,7 +437,7 @@ void il3945_reply_statistics(struct il_priv *il,
*
*
******************************************************************************/
******************************************************************************/
/* This is necessary only for a number of stat
istic
s, see the caller. */
/* This is necessary only for a number of stats, see the caller. */
static
int
il3945_is_network_packet
(
struct
il_priv
*
il
,
static
int
il3945_is_network_packet
(
struct
il_priv
*
il
,
struct
ieee80211_hdr
*
header
)
struct
ieee80211_hdr
*
header
)
{
{
...
...
drivers/net/wireless/iwlegacy/iwl-3945.h
View file @
ebf0d90d
...
@@ -60,7 +60,7 @@ extern const struct pci_device_id il3945_hw_card_ids[];
...
@@ -60,7 +60,7 @@ extern const struct pci_device_id il3945_hw_card_ids[];
/* Default noise level to report when noise measurement is not available.
/* Default noise level to report when noise measurement is not available.
* This may be because we're:
* This may be because we're:
* 1) Not associated (4965, no beacon stat
istic
s being sent to driver)
* 1) Not associated (4965, no beacon stats being sent to driver)
* 2) Scanning (noise measurement does not apply to associated channel)
* 2) Scanning (noise measurement does not apply to associated channel)
* 3) Receiving CCK (3945 delivers noise info only for OFDM frames)
* 3) Receiving CCK (3945 delivers noise info only for OFDM frames)
* Use default noise value of -127 ... this is below the range of measurable
* Use default noise value of -127 ... this is below the range of measurable
...
@@ -258,9 +258,9 @@ void il3945_hw_build_tx_cmd_rate(struct il_priv *il,
...
@@ -258,9 +258,9 @@ void il3945_hw_build_tx_cmd_rate(struct il_priv *il,
int
sta_id
,
int
tx_id
);
int
sta_id
,
int
tx_id
);
extern
int
il3945_hw_reg_send_txpower
(
struct
il_priv
*
il
);
extern
int
il3945_hw_reg_send_txpower
(
struct
il_priv
*
il
);
extern
int
il3945_hw_reg_set_txpower
(
struct
il_priv
*
il
,
s8
power
);
extern
int
il3945_hw_reg_set_txpower
(
struct
il_priv
*
il
,
s8
power
);
extern
void
il3945_hw_rx_stat
istic
s
(
struct
il_priv
*
il
,
extern
void
il3945_hw_rx_stats
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
void
il3945_reply_stat
istic
s
(
struct
il_priv
*
il
,
void
il3945_reply_stats
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
extern
void
il3945_disable_events
(
struct
il_priv
*
il
);
extern
void
il3945_disable_events
(
struct
il_priv
*
il
);
extern
int
il4965_get_temperature
(
const
struct
il_priv
*
il
);
extern
int
il4965_get_temperature
(
const
struct
il_priv
*
il
);
...
...
drivers/net/wireless/iwlegacy/iwl-4965-calib.c
View file @
ebf0d90d
...
@@ -71,7 +71,7 @@
...
@@ -71,7 +71,7 @@
* INIT calibrations framework
* INIT calibrations framework
*****************************************************************************/
*****************************************************************************/
struct
stat
istic
s_general_data
{
struct
stats_general_data
{
u32
beacon_silence_rssi_a
;
u32
beacon_silence_rssi_a
;
u32
beacon_silence_rssi_b
;
u32
beacon_silence_rssi_b
;
u32
beacon_silence_rssi_c
;
u32
beacon_silence_rssi_c
;
...
@@ -106,7 +106,7 @@ void il4965_calib_free_results(struct il_priv *il)
...
@@ -106,7 +106,7 @@ void il4965_calib_free_results(struct il_priv *il)
static
int
il4965_sens_energy_cck
(
struct
il_priv
*
il
,
static
int
il4965_sens_energy_cck
(
struct
il_priv
*
il
,
u32
norm_fa
,
u32
norm_fa
,
u32
rx_enable_time
,
u32
rx_enable_time
,
struct
stat
istic
s_general_data
*
rx_info
)
struct
stats_general_data
*
rx_info
)
{
{
u32
max_nrg_cck
=
0
;
u32
max_nrg_cck
=
0
;
int
i
=
0
;
int
i
=
0
;
...
@@ -509,10 +509,10 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
...
@@ -509,10 +509,10 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
u32
norm_fa_ofdm
;
u32
norm_fa_ofdm
;
u32
norm_fa_cck
;
u32
norm_fa_cck
;
struct
il_sensitivity_data
*
data
=
NULL
;
struct
il_sensitivity_data
*
data
=
NULL
;
struct
stat
istic
s_rx_non_phy
*
rx_info
;
struct
stats_rx_non_phy
*
rx_info
;
struct
stat
istic
s_rx_phy
*
ofdm
,
*
cck
;
struct
stats_rx_phy
*
ofdm
,
*
cck
;
unsigned
long
flags
;
unsigned
long
flags
;
struct
stat
istic
s_general_data
statis
;
struct
stats_general_data
statis
;
if
(
il
->
disable_sens_cal
)
if
(
il
->
disable_sens_cal
)
return
;
return
;
...
@@ -526,9 +526,9 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
...
@@ -526,9 +526,9 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
spin_lock_irqsave
(
&
il
->
lock
,
flags
);
spin_lock_irqsave
(
&
il
->
lock
,
flags
);
rx_info
=
&
(((
struct
il_notif_stat
istic
s
*
)
resp
)
->
rx
.
general
);
rx_info
=
&
(((
struct
il_notif_stats
*
)
resp
)
->
rx
.
general
);
ofdm
=
&
(((
struct
il_notif_stat
istic
s
*
)
resp
)
->
rx
.
ofdm
);
ofdm
=
&
(((
struct
il_notif_stats
*
)
resp
)
->
rx
.
ofdm
);
cck
=
&
(((
struct
il_notif_stat
istic
s
*
)
resp
)
->
rx
.
cck
);
cck
=
&
(((
struct
il_notif_stats
*
)
resp
)
->
rx
.
cck
);
if
(
rx_info
->
interference_data_flag
!=
INTERFERENCE_DATA_AVAILABLE
)
{
if
(
rx_info
->
interference_data_flag
!=
INTERFERENCE_DATA_AVAILABLE
)
{
D_CALIB
(
"<< invalid data.
\n
"
);
D_CALIB
(
"<< invalid data.
\n
"
);
...
@@ -565,9 +565,9 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
...
@@ -565,9 +565,9 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
return
;
return
;
}
}
/* These stat
istic
s increase monotonically, and do not reset
/* These stats increase monotonically, and do not reset
* at each beacon. Calculate difference from last value, or just
* at each beacon. Calculate difference from last value, or just
* use the new stat
istic
s value if it has reset or wrapped around. */
* use the new stats value if it has reset or wrapped around. */
if
(
data
->
last_bad_plcp_cnt_cck
>
bad_plcp_cck
)
if
(
data
->
last_bad_plcp_cnt_cck
>
bad_plcp_cck
)
data
->
last_bad_plcp_cnt_cck
=
bad_plcp_cck
;
data
->
last_bad_plcp_cnt_cck
=
bad_plcp_cck
;
else
{
else
{
...
@@ -793,7 +793,7 @@ static void il4965_gain_computation(struct il_priv *il,
...
@@ -793,7 +793,7 @@ static void il4965_gain_computation(struct il_priv *il,
/*
/*
* Accumulate 16 beacons of signal and noise stat
istic
s for each of
* Accumulate 16 beacons of signal and noise stats for each of
* 3 receivers/antennas/rx-chains, then figure out:
* 3 receivers/antennas/rx-chains, then figure out:
* 1) Which antennas are connected.
* 1) Which antennas are connected.
* 2) Differential rx gain settings to balance the 3 receivers.
* 2) Differential rx gain settings to balance the 3 receivers.
...
@@ -818,7 +818,7 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
...
@@ -818,7 +818,7 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
u8
rxon_band24
;
u8
rxon_band24
;
u8
stat_band24
;
u8
stat_band24
;
unsigned
long
flags
;
unsigned
long
flags
;
struct
stat
istic
s_rx_non_phy
*
rx_info
;
struct
stats_rx_non_phy
*
rx_info
;
struct
il_rxon_context
*
ctx
=
&
il
->
ctx
;
struct
il_rxon_context
*
ctx
=
&
il
->
ctx
;
...
@@ -839,7 +839,7 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
...
@@ -839,7 +839,7 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
spin_lock_irqsave
(
&
il
->
lock
,
flags
);
spin_lock_irqsave
(
&
il
->
lock
,
flags
);
rx_info
=
&
(((
struct
il_notif_stat
istic
s
*
)
stat_resp
)
->
rx_info
=
&
(((
struct
il_notif_stats
*
)
stat_resp
)
->
rx
.
general
);
rx
.
general
);
if
(
rx_info
->
interference_data_flag
!=
INTERFERENCE_DATA_AVAILABLE
)
{
if
(
rx_info
->
interference_data_flag
!=
INTERFERENCE_DATA_AVAILABLE
)
{
...
@@ -851,10 +851,10 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
...
@@ -851,10 +851,10 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
rxon_band24
=
!!
(
ctx
->
staging
.
flags
&
RXON_FLG_BAND_24G_MSK
);
rxon_band24
=
!!
(
ctx
->
staging
.
flags
&
RXON_FLG_BAND_24G_MSK
);
rxon_chnum
=
le16_to_cpu
(
ctx
->
staging
.
channel
);
rxon_chnum
=
le16_to_cpu
(
ctx
->
staging
.
channel
);
stat_band24
=
!!
(((
struct
il_notif_stat
istic
s
*
)
stat_band24
=
!!
(((
struct
il_notif_stats
*
)
stat_resp
)
->
flag
&
stat_resp
)
->
flag
&
STATISTICS_REPLY_FLG_BAND_24G_MSK
);
STATISTICS_REPLY_FLG_BAND_24G_MSK
);
stat_chnum
=
le32_to_cpu
(((
struct
il_notif_stat
istic
s
*
)
stat_chnum
=
le32_to_cpu
(((
struct
il_notif_stats
*
)
stat_resp
)
->
flag
)
>>
16
;
stat_resp
)
->
flag
)
>>
16
;
/* Make sure we accumulate data for just the associated channel
/* Make sure we accumulate data for just the associated channel
...
@@ -867,7 +867,7 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
...
@@ -867,7 +867,7 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
}
}
/*
/*
* Accumulate beacon stat
istic
s values across
* Accumulate beacon stats values across
* "chain_noise_num_beacons"
* "chain_noise_num_beacons"
*/
*/
chain_noise_a
=
le32_to_cpu
(
rx_info
->
beacon_silence_rssi_a
)
&
chain_noise_a
=
le32_to_cpu
(
rx_info
->
beacon_silence_rssi_a
)
&
...
@@ -960,7 +960,7 @@ void il4965_reset_run_time_calib(struct il_priv *il)
...
@@ -960,7 +960,7 @@ void il4965_reset_run_time_calib(struct il_priv *il)
il
->
chain_noise_data
.
delta_gain_code
[
i
]
=
il
->
chain_noise_data
.
delta_gain_code
[
i
]
=
CHAIN_NOISE_DELTA_GAIN_INIT_VAL
;
CHAIN_NOISE_DELTA_GAIN_INIT_VAL
;
/* Ask for stat
istic
s now, the uCode will send notification
/* Ask for stats now, the uCode will send notification
* periodically after association */
* periodically after association */
il_send_stat
istic
s_request
(
il
,
CMD_ASYNC
,
true
);
il_send_stats_request
(
il
,
CMD_ASYNC
,
true
);
}
}
drivers/net/wireless/iwlegacy/iwl-4965-debugfs.c
View file @
ebf0d90d
...
@@ -33,12 +33,12 @@ static const char *fmt_table = " %-30s %10u %10u %10u %10u\n";
...
@@ -33,12 +33,12 @@ static const char *fmt_table = " %-30s %10u %10u %10u %10u\n";
static
const
char
*
fmt_header
=
static
const
char
*
fmt_header
=
"%-32s current cumulative delta max
\n
"
;
"%-32s current cumulative delta max
\n
"
;
static
int
il4965_stat
istic
s_flag
(
struct
il_priv
*
il
,
char
*
buf
,
int
bufsz
)
static
int
il4965_stats_flag
(
struct
il_priv
*
il
,
char
*
buf
,
int
bufsz
)
{
{
int
p
=
0
;
int
p
=
0
;
u32
flag
;
u32
flag
;
flag
=
le32_to_cpu
(
il
->
_4965
.
stat
istic
s
.
flag
);
flag
=
le32_to_cpu
(
il
->
_4965
.
stats
.
flag
);
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"Statistics Flag(0x%X):
\n
"
,
flag
);
p
+=
scnprintf
(
buf
+
p
,
bufsz
-
p
,
"Statistics Flag(0x%X):
\n
"
,
flag
);
if
(
flag
&
UCODE_STATISTICS_CLEAR_MSK
)
if
(
flag
&
UCODE_STATISTICS_CLEAR_MSK
)
...
@@ -60,15 +60,15 @@ ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf,
...
@@ -60,15 +60,15 @@ ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf,
struct
il_priv
*
il
=
file
->
private_data
;
struct
il_priv
*
il
=
file
->
private_data
;
int
pos
=
0
;
int
pos
=
0
;
char
*
buf
;
char
*
buf
;
int
bufsz
=
sizeof
(
struct
stat
istic
s_rx_phy
)
*
40
+
int
bufsz
=
sizeof
(
struct
stats_rx_phy
)
*
40
+
sizeof
(
struct
stat
istic
s_rx_non_phy
)
*
40
+
sizeof
(
struct
stats_rx_non_phy
)
*
40
+
sizeof
(
struct
stat
istic
s_rx_ht_phy
)
*
40
+
400
;
sizeof
(
struct
stats_rx_ht_phy
)
*
40
+
400
;
ssize_t
ret
;
ssize_t
ret
;
struct
stat
istic
s_rx_phy
*
ofdm
,
*
accum_ofdm
,
*
delta_ofdm
,
*
max_ofdm
;
struct
stats_rx_phy
*
ofdm
,
*
accum_ofdm
,
*
delta_ofdm
,
*
max_ofdm
;
struct
stat
istic
s_rx_phy
*
cck
,
*
accum_cck
,
*
delta_cck
,
*
max_cck
;
struct
stats_rx_phy
*
cck
,
*
accum_cck
,
*
delta_cck
,
*
max_cck
;
struct
stat
istic
s_rx_non_phy
*
general
,
*
accum_general
;
struct
stats_rx_non_phy
*
general
,
*
accum_general
;
struct
stat
istic
s_rx_non_phy
*
delta_general
,
*
max_general
;
struct
stats_rx_non_phy
*
delta_general
,
*
max_general
;
struct
stat
istic
s_rx_ht_phy
*
ht
,
*
accum_ht
,
*
delta_ht
,
*
max_ht
;
struct
stats_rx_ht_phy
*
ht
,
*
accum_ht
,
*
delta_ht
,
*
max_ht
;
if
(
!
il_is_alive
(
il
))
if
(
!
il_is_alive
(
il
))
return
-
EAGAIN
;
return
-
EAGAIN
;
...
@@ -81,27 +81,27 @@ ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf,
...
@@ -81,27 +81,27 @@ ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf,
/*
/*
* the statistic information display here is based on
* the statistic information display here is based on
* the last stat
istic
s notification from uCode
* the last stats notification from uCode
* might not reflect the current uCode activity
* might not reflect the current uCode activity
*/
*/
ofdm
=
&
il
->
_4965
.
stat
istic
s
.
rx
.
ofdm
;
ofdm
=
&
il
->
_4965
.
stats
.
rx
.
ofdm
;
cck
=
&
il
->
_4965
.
stat
istic
s
.
rx
.
cck
;
cck
=
&
il
->
_4965
.
stats
.
rx
.
cck
;
general
=
&
il
->
_4965
.
stat
istic
s
.
rx
.
general
;
general
=
&
il
->
_4965
.
stats
.
rx
.
general
;
ht
=
&
il
->
_4965
.
stat
istic
s
.
rx
.
ofdm_ht
;
ht
=
&
il
->
_4965
.
stats
.
rx
.
ofdm_ht
;
accum_ofdm
=
&
il
->
_4965
.
accum_stat
istic
s
.
rx
.
ofdm
;
accum_ofdm
=
&
il
->
_4965
.
accum_stats
.
rx
.
ofdm
;
accum_cck
=
&
il
->
_4965
.
accum_stat
istic
s
.
rx
.
cck
;
accum_cck
=
&
il
->
_4965
.
accum_stats
.
rx
.
cck
;
accum_general
=
&
il
->
_4965
.
accum_stat
istic
s
.
rx
.
general
;
accum_general
=
&
il
->
_4965
.
accum_stats
.
rx
.
general
;
accum_ht
=
&
il
->
_4965
.
accum_stat
istic
s
.
rx
.
ofdm_ht
;
accum_ht
=
&
il
->
_4965
.
accum_stats
.
rx
.
ofdm_ht
;
delta_ofdm
=
&
il
->
_4965
.
delta_stat
istic
s
.
rx
.
ofdm
;
delta_ofdm
=
&
il
->
_4965
.
delta_stats
.
rx
.
ofdm
;
delta_cck
=
&
il
->
_4965
.
delta_stat
istic
s
.
rx
.
cck
;
delta_cck
=
&
il
->
_4965
.
delta_stats
.
rx
.
cck
;
delta_general
=
&
il
->
_4965
.
delta_stat
istic
s
.
rx
.
general
;
delta_general
=
&
il
->
_4965
.
delta_stats
.
rx
.
general
;
delta_ht
=
&
il
->
_4965
.
delta_stat
istic
s
.
rx
.
ofdm_ht
;
delta_ht
=
&
il
->
_4965
.
delta_stats
.
rx
.
ofdm_ht
;
max_ofdm
=
&
il
->
_4965
.
max_delta
.
rx
.
ofdm
;
max_ofdm
=
&
il
->
_4965
.
max_delta
.
rx
.
ofdm
;
max_cck
=
&
il
->
_4965
.
max_delta
.
rx
.
cck
;
max_cck
=
&
il
->
_4965
.
max_delta
.
rx
.
cck
;
max_general
=
&
il
->
_4965
.
max_delta
.
rx
.
general
;
max_general
=
&
il
->
_4965
.
max_delta
.
rx
.
general
;
max_ht
=
&
il
->
_4965
.
max_delta
.
rx
.
ofdm_ht
;
max_ht
=
&
il
->
_4965
.
max_delta
.
rx
.
ofdm_ht
;
pos
+=
il4965_stat
istic
s_flag
(
il
,
buf
,
bufsz
);
pos
+=
il4965_stats_flag
(
il
,
buf
,
bufsz
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
fmt_header
,
"Statistics_Rx - OFDM:"
);
fmt_header
,
"Statistics_Rx - OFDM:"
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
...
@@ -492,9 +492,9 @@ ssize_t il4965_ucode_tx_stats_read(struct file *file,
...
@@ -492,9 +492,9 @@ ssize_t il4965_ucode_tx_stats_read(struct file *file,
struct
il_priv
*
il
=
file
->
private_data
;
struct
il_priv
*
il
=
file
->
private_data
;
int
pos
=
0
;
int
pos
=
0
;
char
*
buf
;
char
*
buf
;
int
bufsz
=
(
sizeof
(
struct
stat
istic
s_tx
)
*
48
)
+
250
;
int
bufsz
=
(
sizeof
(
struct
stats_tx
)
*
48
)
+
250
;
ssize_t
ret
;
ssize_t
ret
;
struct
stat
istic
s_tx
*
tx
,
*
accum_tx
,
*
delta_tx
,
*
max_tx
;
struct
stats_tx
*
tx
,
*
accum_tx
,
*
delta_tx
,
*
max_tx
;
if
(
!
il_is_alive
(
il
))
if
(
!
il_is_alive
(
il
))
return
-
EAGAIN
;
return
-
EAGAIN
;
...
@@ -506,15 +506,15 @@ ssize_t il4965_ucode_tx_stats_read(struct file *file,
...
@@ -506,15 +506,15 @@ ssize_t il4965_ucode_tx_stats_read(struct file *file,
}
}
/* the statistic information display here is based on
/* the statistic information display here is based on
* the last stat
istic
s notification from uCode
* the last stats notification from uCode
* might not reflect the current uCode activity
* might not reflect the current uCode activity
*/
*/
tx
=
&
il
->
_4965
.
stat
istic
s
.
tx
;
tx
=
&
il
->
_4965
.
stats
.
tx
;
accum_tx
=
&
il
->
_4965
.
accum_stat
istic
s
.
tx
;
accum_tx
=
&
il
->
_4965
.
accum_stats
.
tx
;
delta_tx
=
&
il
->
_4965
.
delta_stat
istic
s
.
tx
;
delta_tx
=
&
il
->
_4965
.
delta_stats
.
tx
;
max_tx
=
&
il
->
_4965
.
max_delta
.
tx
;
max_tx
=
&
il
->
_4965
.
max_delta
.
tx
;
pos
+=
il4965_stat
istic
s_flag
(
il
,
buf
,
bufsz
);
pos
+=
il4965_stats_flag
(
il
,
buf
,
bufsz
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
fmt_header
,
"Statistics_Tx:"
);
fmt_header
,
"Statistics_Tx:"
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
...
@@ -667,12 +667,12 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
...
@@ -667,12 +667,12 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
struct
il_priv
*
il
=
file
->
private_data
;
struct
il_priv
*
il
=
file
->
private_data
;
int
pos
=
0
;
int
pos
=
0
;
char
*
buf
;
char
*
buf
;
int
bufsz
=
sizeof
(
struct
stat
istic
s_general
)
*
10
+
300
;
int
bufsz
=
sizeof
(
struct
stats_general
)
*
10
+
300
;
ssize_t
ret
;
ssize_t
ret
;
struct
stat
istic
s_general_common
*
general
,
*
accum_general
;
struct
stats_general_common
*
general
,
*
accum_general
;
struct
stat
istic
s_general_common
*
delta_general
,
*
max_general
;
struct
stats_general_common
*
delta_general
,
*
max_general
;
struct
stat
istic
s_dbg
*
dbg
,
*
accum_dbg
,
*
delta_dbg
,
*
max_dbg
;
struct
stats_dbg
*
dbg
,
*
accum_dbg
,
*
delta_dbg
,
*
max_dbg
;
struct
stat
istic
s_div
*
div
,
*
accum_div
,
*
delta_div
,
*
max_div
;
struct
stats_div
*
div
,
*
accum_div
,
*
delta_div
,
*
max_div
;
if
(
!
il_is_alive
(
il
))
if
(
!
il_is_alive
(
il
))
return
-
EAGAIN
;
return
-
EAGAIN
;
...
@@ -684,23 +684,23 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
...
@@ -684,23 +684,23 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
}
}
/* the statistic information display here is based on
/* the statistic information display here is based on
* the last stat
istic
s notification from uCode
* the last stats notification from uCode
* might not reflect the current uCode activity
* might not reflect the current uCode activity
*/
*/
general
=
&
il
->
_4965
.
stat
istic
s
.
general
.
common
;
general
=
&
il
->
_4965
.
stats
.
general
.
common
;
dbg
=
&
il
->
_4965
.
stat
istic
s
.
general
.
common
.
dbg
;
dbg
=
&
il
->
_4965
.
stats
.
general
.
common
.
dbg
;
div
=
&
il
->
_4965
.
stat
istic
s
.
general
.
common
.
div
;
div
=
&
il
->
_4965
.
stats
.
general
.
common
.
div
;
accum_general
=
&
il
->
_4965
.
accum_stat
istic
s
.
general
.
common
;
accum_general
=
&
il
->
_4965
.
accum_stats
.
general
.
common
;
accum_dbg
=
&
il
->
_4965
.
accum_stat
istic
s
.
general
.
common
.
dbg
;
accum_dbg
=
&
il
->
_4965
.
accum_stats
.
general
.
common
.
dbg
;
accum_div
=
&
il
->
_4965
.
accum_stat
istic
s
.
general
.
common
.
div
;
accum_div
=
&
il
->
_4965
.
accum_stats
.
general
.
common
.
div
;
delta_general
=
&
il
->
_4965
.
delta_stat
istic
s
.
general
.
common
;
delta_general
=
&
il
->
_4965
.
delta_stats
.
general
.
common
;
max_general
=
&
il
->
_4965
.
max_delta
.
general
.
common
;
max_general
=
&
il
->
_4965
.
max_delta
.
general
.
common
;
delta_dbg
=
&
il
->
_4965
.
delta_stat
istic
s
.
general
.
common
.
dbg
;
delta_dbg
=
&
il
->
_4965
.
delta_stats
.
general
.
common
.
dbg
;
max_dbg
=
&
il
->
_4965
.
max_delta
.
general
.
common
.
dbg
;
max_dbg
=
&
il
->
_4965
.
max_delta
.
general
.
common
.
dbg
;
delta_div
=
&
il
->
_4965
.
delta_stat
istic
s
.
general
.
common
.
div
;
delta_div
=
&
il
->
_4965
.
delta_stats
.
general
.
common
.
div
;
max_div
=
&
il
->
_4965
.
max_delta
.
general
.
common
.
div
;
max_div
=
&
il
->
_4965
.
max_delta
.
general
.
common
.
div
;
pos
+=
il4965_stat
istic
s_flag
(
il
,
buf
,
bufsz
);
pos
+=
il4965_stats_flag
(
il
,
buf
,
bufsz
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
fmt_header
,
"Statistics_General:"
);
fmt_header
,
"Statistics_General:"
);
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
pos
+=
scnprintf
(
buf
+
pos
,
bufsz
-
pos
,
...
...
drivers/net/wireless/iwlegacy/iwl-4965-hw.h
View file @
ebf0d90d
...
@@ -119,7 +119,7 @@ static inline int il4965_hw_valid_rtc_data_addr(u32 addr)
...
@@ -119,7 +119,7 @@ static inline int il4965_hw_valid_rtc_data_addr(u32 addr)
*
*
* uCode provides all 4 values to the driver via the "initialize alive"
* uCode provides all 4 values to the driver via the "initialize alive"
* notification (see struct il4965_init_alive_resp). After the runtime uCode
* notification (see struct il4965_init_alive_resp). After the runtime uCode
* image loads, uCode updates the R4 value via stat
istic
s notifications
* image loads, uCode updates the R4 value via stats notifications
* (see STATISTICS_NOTIFICATION), which occur after each received beacon
* (see STATISTICS_NOTIFICATION), which occur after each received beacon
* when associated, or can be requested via REPLY_STATISTICS_CMD.
* when associated, or can be requested via REPLY_STATISTICS_CMD.
*
*
...
@@ -159,7 +159,7 @@ static inline int il4965_hw_valid_rtc_data_addr(u32 addr)
...
@@ -159,7 +159,7 @@ static inline int il4965_hw_valid_rtc_data_addr(u32 addr)
*
*
* 1) EEPROM
* 1) EEPROM
* 2) "initialize" alive notification
* 2) "initialize" alive notification
* 3) stat
istic
s notifications
* 3) stats notifications
*
*
* EEPROM data consists of:
* EEPROM data consists of:
*
*
...
...
drivers/net/wireless/iwlegacy/iwl-4965-rs.c
View file @
ebf0d90d
...
@@ -242,7 +242,7 @@ static inline u8 il4965_rs_is_valid_ant(u8 valid_antenna, u8 ant_type)
...
@@ -242,7 +242,7 @@ static inline u8 il4965_rs_is_valid_ant(u8 valid_antenna, u8 ant_type)
}
}
/*
/*
* removes the old data from the stat
istic
s. All data that is older than
* removes the old data from the stats. All data that is older than
* TID_MAX_TIME_DIFF, will be deleted.
* TID_MAX_TIME_DIFF, will be deleted.
*/
*/
static
void
static
void
...
@@ -991,7 +991,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
...
@@ -991,7 +991,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
* Begin a period of staying with a selected modulation mode.
* Begin a period of staying with a selected modulation mode.
* Set "stay_in_tbl" flag to prevent any mode switches.
* Set "stay_in_tbl" flag to prevent any mode switches.
* Set frame tx success limits according to legacy vs. high-throughput,
* Set frame tx success limits according to legacy vs. high-throughput,
* and reset overall (spanning all rates) tx success history stat
istic
s.
* and reset overall (spanning all rates) tx success history stats.
* These control how long we stay using same modulation mode before
* These control how long we stay using same modulation mode before
* searching for a new mode.
* searching for a new mode.
*/
*/
...
...
drivers/net/wireless/iwlegacy/iwl-4965-rx.c
View file @
ebf0d90d
...
@@ -67,13 +67,13 @@ void il4965_rx_missed_beacon_notif(struct il_priv *il,
...
@@ -67,13 +67,13 @@ void il4965_rx_missed_beacon_notif(struct il_priv *il,
* exactly when to expect beacons, therefore only when we're associated. */
* exactly when to expect beacons, therefore only when we're associated. */
static
void
il4965_rx_calc_noise
(
struct
il_priv
*
il
)
static
void
il4965_rx_calc_noise
(
struct
il_priv
*
il
)
{
{
struct
stat
istic
s_rx_non_phy
*
rx_info
;
struct
stats_rx_non_phy
*
rx_info
;
int
num_active_rx
=
0
;
int
num_active_rx
=
0
;
int
total_silence
=
0
;
int
total_silence
=
0
;
int
bcn_silence_a
,
bcn_silence_b
,
bcn_silence_c
;
int
bcn_silence_a
,
bcn_silence_b
,
bcn_silence_c
;
int
last_rx_noise
;
int
last_rx_noise
;
rx_info
=
&
(
il
->
_4965
.
stat
istic
s
.
rx
.
general
);
rx_info
=
&
(
il
->
_4965
.
stats
.
rx
.
general
);
bcn_silence_a
=
bcn_silence_a
=
le32_to_cpu
(
rx_info
->
beacon_silence_rssi_a
)
&
IN_BAND_FILTER
;
le32_to_cpu
(
rx_info
->
beacon_silence_rssi_a
)
&
IN_BAND_FILTER
;
bcn_silence_b
=
bcn_silence_b
=
...
@@ -107,28 +107,28 @@ static void il4965_rx_calc_noise(struct il_priv *il)
...
@@ -107,28 +107,28 @@ static void il4965_rx_calc_noise(struct il_priv *il)
#ifdef CONFIG_IWLEGACY_DEBUGFS
#ifdef CONFIG_IWLEGACY_DEBUGFS
/*
/*
* based on the assumption of all stat
istic
s counter are in DWORD
* based on the assumption of all stats counter are in DWORD
* FIXME: This function is for debugging, do not deal with
* FIXME: This function is for debugging, do not deal with
* the case of counters roll-over.
* the case of counters roll-over.
*/
*/
static
void
il4965_accumulative_stat
istic
s
(
struct
il_priv
*
il
,
static
void
il4965_accumulative_stats
(
struct
il_priv
*
il
,
__le32
*
stats
)
__le32
*
stats
)
{
{
int
i
,
size
;
int
i
,
size
;
__le32
*
prev_stats
;
__le32
*
prev_stats
;
u32
*
accum_stats
;
u32
*
accum_stats
;
u32
*
delta
,
*
max_delta
;
u32
*
delta
,
*
max_delta
;
struct
stat
istic
s_general_common
*
general
,
*
accum_general
;
struct
stats_general_common
*
general
,
*
accum_general
;
struct
stat
istic
s_tx
*
tx
,
*
accum_tx
;
struct
stats_tx
*
tx
,
*
accum_tx
;
prev_stats
=
(
__le32
*
)
&
il
->
_4965
.
stat
istic
s
;
prev_stats
=
(
__le32
*
)
&
il
->
_4965
.
stats
;
accum_stats
=
(
u32
*
)
&
il
->
_4965
.
accum_stat
istic
s
;
accum_stats
=
(
u32
*
)
&
il
->
_4965
.
accum_stats
;
size
=
sizeof
(
struct
il_notif_stat
istic
s
);
size
=
sizeof
(
struct
il_notif_stats
);
general
=
&
il
->
_4965
.
stat
istic
s
.
general
.
common
;
general
=
&
il
->
_4965
.
stats
.
general
.
common
;
accum_general
=
&
il
->
_4965
.
accum_stat
istic
s
.
general
.
common
;
accum_general
=
&
il
->
_4965
.
accum_stats
.
general
.
common
;
tx
=
&
il
->
_4965
.
stat
istic
s
.
tx
;
tx
=
&
il
->
_4965
.
stats
.
tx
;
accum_tx
=
&
il
->
_4965
.
accum_stat
istic
s
.
tx
;
accum_tx
=
&
il
->
_4965
.
accum_stats
.
tx
;
delta
=
(
u32
*
)
&
il
->
_4965
.
delta_stat
istic
s
;
delta
=
(
u32
*
)
&
il
->
_4965
.
delta_stats
;
max_delta
=
(
u32
*
)
&
il
->
_4965
.
max_delta
;
max_delta
=
(
u32
*
)
&
il
->
_4965
.
max_delta
;
for
(
i
=
sizeof
(
__le32
);
i
<
size
;
for
(
i
=
sizeof
(
__le32
);
i
<
size
;
...
@@ -143,7 +143,7 @@ static void il4965_accumulative_statistics(struct il_priv *il,
...
@@ -143,7 +143,7 @@ static void il4965_accumulative_statistics(struct il_priv *il,
}
}
}
}
/* reset accumulative stat
istics for "no-counter" type statistic
s */
/* reset accumulative stat
s for "no-counter" type stat
s */
accum_general
->
temperature
=
general
->
temperature
;
accum_general
->
temperature
=
general
->
temperature
;
accum_general
->
ttl_timestamp
=
general
->
ttl_timestamp
;
accum_general
->
ttl_timestamp
=
general
->
ttl_timestamp
;
}
}
...
@@ -151,7 +151,7 @@ static void il4965_accumulative_statistics(struct il_priv *il,
...
@@ -151,7 +151,7 @@ static void il4965_accumulative_statistics(struct il_priv *il,
#define REG_RECALIB_PERIOD (60)
#define REG_RECALIB_PERIOD (60)
void
il4965_rx_stat
istic
s
(
struct
il_priv
*
il
,
void
il4965_rx_stats
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
)
struct
il_rx_buf
*
rxb
)
{
{
int
change
;
int
change
;
...
@@ -159,31 +159,31 @@ void il4965_rx_statistics(struct il_priv *il,
...
@@ -159,31 +159,31 @@ void il4965_rx_statistics(struct il_priv *il,
D_RX
(
D_RX
(
"Statistics notification received (%d vs %d).
\n
"
,
"Statistics notification received (%d vs %d).
\n
"
,
(
int
)
sizeof
(
struct
il_notif_stat
istic
s
),
(
int
)
sizeof
(
struct
il_notif_stats
),
le32_to_cpu
(
pkt
->
len_n_flags
)
&
le32_to_cpu
(
pkt
->
len_n_flags
)
&
FH_RSCSR_FRAME_SIZE_MSK
);
FH_RSCSR_FRAME_SIZE_MSK
);
change
=
((
il
->
_4965
.
stat
istic
s
.
general
.
common
.
temperature
!=
change
=
((
il
->
_4965
.
stats
.
general
.
common
.
temperature
!=
pkt
->
u
.
stats
.
general
.
common
.
temperature
)
||
pkt
->
u
.
stats
.
general
.
common
.
temperature
)
||
((
il
->
_4965
.
stat
istic
s
.
flag
&
((
il
->
_4965
.
stats
.
flag
&
STATISTICS_REPLY_FLG_HT40_MODE_MSK
)
!=
STATISTICS_REPLY_FLG_HT40_MODE_MSK
)
!=
(
pkt
->
u
.
stats
.
flag
&
(
pkt
->
u
.
stats
.
flag
&
STATISTICS_REPLY_FLG_HT40_MODE_MSK
)));
STATISTICS_REPLY_FLG_HT40_MODE_MSK
)));
#ifdef CONFIG_IWLEGACY_DEBUGFS
#ifdef CONFIG_IWLEGACY_DEBUGFS
il4965_accumulative_stat
istic
s
(
il
,
(
__le32
*
)
&
pkt
->
u
.
stats
);
il4965_accumulative_stats
(
il
,
(
__le32
*
)
&
pkt
->
u
.
stats
);
#endif
#endif
/* TODO: reading some of stat
istic
s is unneeded */
/* TODO: reading some of stats is unneeded */
memcpy
(
&
il
->
_4965
.
stat
istic
s
,
&
pkt
->
u
.
stats
,
memcpy
(
&
il
->
_4965
.
stats
,
&
pkt
->
u
.
stats
,
sizeof
(
il
->
_4965
.
stat
istic
s
));
sizeof
(
il
->
_4965
.
stats
));
set_bit
(
STATUS_STATISTICS
,
&
il
->
status
);
set_bit
(
STATUS_STATISTICS
,
&
il
->
status
);
/* Reschedule the stat
istic
s timer to occur in
/* Reschedule the stats timer to occur in
* REG_RECALIB_PERIOD seconds to ensure we get a
* REG_RECALIB_PERIOD seconds to ensure we get a
* thermal update even if the uCode doesn't give
* thermal update even if the uCode doesn't give
* us one */
* us one */
mod_timer
(
&
il
->
stat
istic
s_periodic
,
jiffies
+
mod_timer
(
&
il
->
stats_periodic
,
jiffies
+
msecs_to_jiffies
(
REG_RECALIB_PERIOD
*
1000
));
msecs_to_jiffies
(
REG_RECALIB_PERIOD
*
1000
));
if
(
unlikely
(
!
test_bit
(
STATUS_SCANNING
,
&
il
->
status
))
&&
if
(
unlikely
(
!
test_bit
(
STATUS_SCANNING
,
&
il
->
status
))
&&
...
@@ -195,21 +195,21 @@ void il4965_rx_statistics(struct il_priv *il,
...
@@ -195,21 +195,21 @@ void il4965_rx_statistics(struct il_priv *il,
il
->
cfg
->
ops
->
lib
->
temp_ops
.
temperature
(
il
);
il
->
cfg
->
ops
->
lib
->
temp_ops
.
temperature
(
il
);
}
}
void
il4965_reply_stat
istic
s
(
struct
il_priv
*
il
,
void
il4965_reply_stats
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
)
struct
il_rx_buf
*
rxb
)
{
{
struct
il_rx_pkt
*
pkt
=
rxb_addr
(
rxb
);
struct
il_rx_pkt
*
pkt
=
rxb_addr
(
rxb
);
if
(
le32_to_cpu
(
pkt
->
u
.
stats
.
flag
)
&
UCODE_STATISTICS_CLEAR_MSK
)
{
if
(
le32_to_cpu
(
pkt
->
u
.
stats
.
flag
)
&
UCODE_STATISTICS_CLEAR_MSK
)
{
#ifdef CONFIG_IWLEGACY_DEBUGFS
#ifdef CONFIG_IWLEGACY_DEBUGFS
memset
(
&
il
->
_4965
.
accum_stat
istic
s
,
0
,
memset
(
&
il
->
_4965
.
accum_stats
,
0
,
sizeof
(
struct
il_notif_stat
istic
s
));
sizeof
(
struct
il_notif_stats
));
memset
(
&
il
->
_4965
.
delta_stat
istic
s
,
0
,
memset
(
&
il
->
_4965
.
delta_stats
,
0
,
sizeof
(
struct
il_notif_stat
istic
s
));
sizeof
(
struct
il_notif_stats
));
memset
(
&
il
->
_4965
.
max_delta
,
0
,
memset
(
&
il
->
_4965
.
max_delta
,
0
,
sizeof
(
struct
il_notif_stat
istic
s
));
sizeof
(
struct
il_notif_stats
));
#endif
#endif
D_RX
(
"Statistics have been cleared
\n
"
);
D_RX
(
"Statistics have been cleared
\n
"
);
}
}
il4965_rx_stat
istic
s
(
il
,
rxb
);
il4965_rx_stats
(
il
,
rxb
);
}
}
drivers/net/wireless/iwlegacy/iwl-4965.c
View file @
ebf0d90d
...
@@ -1436,9 +1436,9 @@ static void il4965_txq_update_byte_cnt_tbl(struct il_priv *il,
...
@@ -1436,9 +1436,9 @@ static void il4965_txq_update_byte_cnt_tbl(struct il_priv *il,
/**
/**
* il4965_hw_get_temperature - return the calibrated temperature (in Kelvin)
* il4965_hw_get_temperature - return the calibrated temperature (in Kelvin)
* @stat
istic
s: Provides the temperature reading from the uCode
* @stats: Provides the temperature reading from the uCode
*
*
* A return of <0 indicates bogus data in the stat
istic
s
* A return of <0 indicates bogus data in the stats
*/
*/
static
int
il4965_hw_get_temperature
(
struct
il_priv
*
il
)
static
int
il4965_hw_get_temperature
(
struct
il_priv
*
il
)
{
{
...
@@ -1448,7 +1448,7 @@ static int il4965_hw_get_temperature(struct il_priv *il)
...
@@ -1448,7 +1448,7 @@ static int il4965_hw_get_temperature(struct il_priv *il)
u32
R4
;
u32
R4
;
if
(
test_bit
(
STATUS_TEMPERATURE
,
&
il
->
status
)
&&
if
(
test_bit
(
STATUS_TEMPERATURE
,
&
il
->
status
)
&&
(
il
->
_4965
.
stat
istic
s
.
flag
&
(
il
->
_4965
.
stats
.
flag
&
STATISTICS_REPLY_FLG_HT40_MODE_MSK
))
{
STATISTICS_REPLY_FLG_HT40_MODE_MSK
))
{
D_TEMP
(
"Running HT40 temperature calibration
\n
"
);
D_TEMP
(
"Running HT40 temperature calibration
\n
"
);
R1
=
(
s32
)
le32_to_cpu
(
il
->
card_alive_init
.
therm_r1
[
1
]);
R1
=
(
s32
)
le32_to_cpu
(
il
->
card_alive_init
.
therm_r1
[
1
]);
...
@@ -1466,14 +1466,14 @@ static int il4965_hw_get_temperature(struct il_priv *il)
...
@@ -1466,14 +1466,14 @@ static int il4965_hw_get_temperature(struct il_priv *il)
/*
/*
* Temperature is only 23 bits, so sign extend out to 32.
* Temperature is only 23 bits, so sign extend out to 32.
*
*
* NOTE If we haven't received a stat
istic
s notification yet
* NOTE If we haven't received a stats notification yet
* with an updated temperature, use R4 provided to us in the
* with an updated temperature, use R4 provided to us in the
* "initialize" ALIVE response.
* "initialize" ALIVE response.
*/
*/
if
(
!
test_bit
(
STATUS_TEMPERATURE
,
&
il
->
status
))
if
(
!
test_bit
(
STATUS_TEMPERATURE
,
&
il
->
status
))
vt
=
sign_extend32
(
R4
,
23
);
vt
=
sign_extend32
(
R4
,
23
);
else
else
vt
=
sign_extend32
(
le32_to_cpu
(
il
->
_4965
.
stat
istic
s
.
vt
=
sign_extend32
(
le32_to_cpu
(
il
->
_4965
.
stats
.
general
.
common
.
temperature
),
23
);
general
.
common
.
temperature
),
23
);
D_TEMP
(
"Calib values R[1-3]: %d %d %d R4: %d
\n
"
,
R1
,
R2
,
R3
,
vt
);
D_TEMP
(
"Calib values R[1-3]: %d %d %d R4: %d
\n
"
,
R1
,
R2
,
R3
,
vt
);
...
@@ -1512,7 +1512,7 @@ static int il4965_is_temp_calib_needed(struct il_priv *il)
...
@@ -1512,7 +1512,7 @@ static int il4965_is_temp_calib_needed(struct il_priv *il)
int
temp_diff
;
int
temp_diff
;
if
(
!
test_bit
(
STATUS_STATISTICS
,
&
il
->
status
))
{
if
(
!
test_bit
(
STATUS_STATISTICS
,
&
il
->
status
))
{
D_TEMP
(
"Temperature not updated -- no stat
istic
s.
\n
"
);
D_TEMP
(
"Temperature not updated -- no stats.
\n
"
);
return
0
;
return
0
;
}
}
...
...
drivers/net/wireless/iwlegacy/iwl-4965.h
View file @
ebf0d90d
...
@@ -174,9 +174,9 @@ void il4965_rx_missed_beacon_notif(struct il_priv *il,
...
@@ -174,9 +174,9 @@ void il4965_rx_missed_beacon_notif(struct il_priv *il,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
bool
il4965_good_plcp_health
(
struct
il_priv
*
il
,
bool
il4965_good_plcp_health
(
struct
il_priv
*
il
,
struct
il_rx_pkt
*
pkt
);
struct
il_rx_pkt
*
pkt
);
void
il4965_rx_stat
istic
s
(
struct
il_priv
*
il
,
void
il4965_rx_stats
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
void
il4965_reply_stat
istic
s
(
struct
il_priv
*
il
,
void
il4965_reply_stats
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
/* scan */
/* scan */
...
...
drivers/net/wireless/iwlegacy/iwl-commands.h
View file @
ebf0d90d
...
@@ -2016,7 +2016,7 @@ struct il_link_qual_agg_params {
...
@@ -2016,7 +2016,7 @@ struct il_link_qual_agg_params {
* good performance; higher rate is sure to have poorer success.
* good performance; higher rate is sure to have poorer success.
*
*
* 6) Re-evaluate the rate after each tx frame. If working with block-
* 6) Re-evaluate the rate after each tx frame. If working with block-
* acknowledge, history and stat
istic
s may be calculated for the entire
* acknowledge, history and stats may be calculated for the entire
* block (including prior history that fits within the history windows),
* block (including prior history that fits within the history windows),
* before re-evaluation.
* before re-evaluation.
*
*
...
@@ -2637,7 +2637,7 @@ struct il_scanresults_notification {
...
@@ -2637,7 +2637,7 @@ struct il_scanresults_notification {
u8
num_probe_not_sent
;
/* not enough time to send */
u8
num_probe_not_sent
;
/* not enough time to send */
__le32
tsf_low
;
__le32
tsf_low
;
__le32
tsf_high
;
__le32
tsf_high
;
__le32
stat
istic
s
[
NUMBER_OF_STATISTICS
];
__le32
stats
[
NUMBER_OF_STATISTICS
];
}
__packed
;
}
__packed
;
/*
/*
...
@@ -2727,9 +2727,9 @@ struct rate_histogram {
...
@@ -2727,9 +2727,9 @@ struct rate_histogram {
}
failed
;
}
failed
;
}
__packed
;
}
__packed
;
/* stat
istic
s command response */
/* stats command response */
struct
iwl39_stat
istic
s_rx_phy
{
struct
iwl39_stats_rx_phy
{
__le32
ina_cnt
;
__le32
ina_cnt
;
__le32
fina_cnt
;
__le32
fina_cnt
;
__le32
plcp_err
;
__le32
plcp_err
;
...
@@ -2747,7 +2747,7 @@ struct iwl39_statistics_rx_phy {
...
@@ -2747,7 +2747,7 @@ struct iwl39_statistics_rx_phy {
__le32
sent_cts_cnt
;
__le32
sent_cts_cnt
;
}
__packed
;
}
__packed
;
struct
iwl39_stat
istic
s_rx_non_phy
{
struct
iwl39_stats_rx_non_phy
{
__le32
bogus_cts
;
/* CTS received when not expecting CTS */
__le32
bogus_cts
;
/* CTS received when not expecting CTS */
__le32
bogus_ack
;
/* ACK received when not expecting ACK */
__le32
bogus_ack
;
/* ACK received when not expecting ACK */
__le32
non_bssid_frames
;
/* number of frames with BSSID that
__le32
non_bssid_frames
;
/* number of frames with BSSID that
...
@@ -2758,13 +2758,13 @@ struct iwl39_statistics_rx_non_phy {
...
@@ -2758,13 +2758,13 @@ struct iwl39_statistics_rx_non_phy {
* our serving channel */
* our serving channel */
}
__packed
;
}
__packed
;
struct
iwl39_stat
istic
s_rx
{
struct
iwl39_stats_rx
{
struct
iwl39_stat
istic
s_rx_phy
ofdm
;
struct
iwl39_stats_rx_phy
ofdm
;
struct
iwl39_stat
istic
s_rx_phy
cck
;
struct
iwl39_stats_rx_phy
cck
;
struct
iwl39_stat
istic
s_rx_non_phy
general
;
struct
iwl39_stats_rx_non_phy
general
;
}
__packed
;
}
__packed
;
struct
iwl39_stat
istic
s_tx
{
struct
iwl39_stats_tx
{
__le32
preamble_cnt
;
__le32
preamble_cnt
;
__le32
rx_detected_cnt
;
__le32
rx_detected_cnt
;
__le32
bt_prio_defer_cnt
;
__le32
bt_prio_defer_cnt
;
...
@@ -2776,31 +2776,31 @@ struct iwl39_statistics_tx {
...
@@ -2776,31 +2776,31 @@ struct iwl39_statistics_tx {
__le32
actual_ack_cnt
;
__le32
actual_ack_cnt
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_dbg
{
struct
stats_dbg
{
__le32
burst_check
;
__le32
burst_check
;
__le32
burst_count
;
__le32
burst_count
;
__le32
wait_for_silence_timeout_cnt
;
__le32
wait_for_silence_timeout_cnt
;
__le32
reserved
[
3
];
__le32
reserved
[
3
];
}
__packed
;
}
__packed
;
struct
iwl39_stat
istic
s_div
{
struct
iwl39_stats_div
{
__le32
tx_on_a
;
__le32
tx_on_a
;
__le32
tx_on_b
;
__le32
tx_on_b
;
__le32
exec_time
;
__le32
exec_time
;
__le32
probe_time
;
__le32
probe_time
;
}
__packed
;
}
__packed
;
struct
iwl39_stat
istic
s_general
{
struct
iwl39_stats_general
{
__le32
temperature
;
__le32
temperature
;
struct
stat
istic
s_dbg
dbg
;
struct
stats_dbg
dbg
;
__le32
sleep_time
;
__le32
sleep_time
;
__le32
slots_out
;
__le32
slots_out
;
__le32
slots_idle
;
__le32
slots_idle
;
__le32
ttl_timestamp
;
__le32
ttl_timestamp
;
struct
iwl39_stat
istic
s_div
div
;
struct
iwl39_stats_div
div
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_rx_phy
{
struct
stats_rx_phy
{
__le32
ina_cnt
;
__le32
ina_cnt
;
__le32
fina_cnt
;
__le32
fina_cnt
;
__le32
plcp_err
;
__le32
plcp_err
;
...
@@ -2823,7 +2823,7 @@ struct statistics_rx_phy {
...
@@ -2823,7 +2823,7 @@ struct statistics_rx_phy {
__le32
reserved3
;
__le32
reserved3
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_rx_ht_phy
{
struct
stats_rx_ht_phy
{
__le32
plcp_err
;
__le32
plcp_err
;
__le32
overrun_err
;
__le32
overrun_err
;
__le32
early_overrun_err
;
__le32
early_overrun_err
;
...
@@ -2838,7 +2838,7 @@ struct statistics_rx_ht_phy {
...
@@ -2838,7 +2838,7 @@ struct statistics_rx_ht_phy {
#define INTERFERENCE_DATA_AVAILABLE cpu_to_le32(1)
#define INTERFERENCE_DATA_AVAILABLE cpu_to_le32(1)
struct
stat
istic
s_rx_non_phy
{
struct
stats_rx_non_phy
{
__le32
bogus_cts
;
/* CTS received when not expecting CTS */
__le32
bogus_cts
;
/* CTS received when not expecting CTS */
__le32
bogus_ack
;
/* ACK received when not expecting ACK */
__le32
bogus_ack
;
/* ACK received when not expecting ACK */
__le32
non_bssid_frames
;
/* number of frames with BSSID that
__le32
non_bssid_frames
;
/* number of frames with BSSID that
...
@@ -2871,28 +2871,28 @@ struct statistics_rx_non_phy {
...
@@ -2871,28 +2871,28 @@ struct statistics_rx_non_phy {
__le32
beacon_energy_c
;
__le32
beacon_energy_c
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_rx
{
struct
stats_rx
{
struct
stat
istic
s_rx_phy
ofdm
;
struct
stats_rx_phy
ofdm
;
struct
stat
istic
s_rx_phy
cck
;
struct
stats_rx_phy
cck
;
struct
stat
istic
s_rx_non_phy
general
;
struct
stats_rx_non_phy
general
;
struct
stat
istic
s_rx_ht_phy
ofdm_ht
;
struct
stats_rx_ht_phy
ofdm_ht
;
}
__packed
;
}
__packed
;
/**
/**
* struct stat
istic
s_tx_power - current tx power
* struct stats_tx_power - current tx power
*
*
* @ant_a: current tx power on chain a in 1/2 dB step
* @ant_a: current tx power on chain a in 1/2 dB step
* @ant_b: current tx power on chain b in 1/2 dB step
* @ant_b: current tx power on chain b in 1/2 dB step
* @ant_c: current tx power on chain c in 1/2 dB step
* @ant_c: current tx power on chain c in 1/2 dB step
*/
*/
struct
stat
istic
s_tx_power
{
struct
stats_tx_power
{
u8
ant_a
;
u8
ant_a
;
u8
ant_b
;
u8
ant_b
;
u8
ant_c
;
u8
ant_c
;
u8
reserved
;
u8
reserved
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_tx_non_phy_agg
{
struct
stats_tx_non_phy_agg
{
__le32
ba_timeout
;
__le32
ba_timeout
;
__le32
ba_reschedule_frames
;
__le32
ba_reschedule_frames
;
__le32
scd_query_agg_frame_cnt
;
__le32
scd_query_agg_frame_cnt
;
...
@@ -2905,7 +2905,7 @@ struct statistics_tx_non_phy_agg {
...
@@ -2905,7 +2905,7 @@ struct statistics_tx_non_phy_agg {
__le32
rx_ba_rsp_cnt
;
__le32
rx_ba_rsp_cnt
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_tx
{
struct
stats_tx
{
__le32
preamble_cnt
;
__le32
preamble_cnt
;
__le32
rx_detected_cnt
;
__le32
rx_detected_cnt
;
__le32
bt_prio_defer_cnt
;
__le32
bt_prio_defer_cnt
;
...
@@ -2920,13 +2920,13 @@ struct statistics_tx {
...
@@ -2920,13 +2920,13 @@ struct statistics_tx {
__le32
burst_abort_missing_next_frame_cnt
;
__le32
burst_abort_missing_next_frame_cnt
;
__le32
cts_timeout_collision
;
__le32
cts_timeout_collision
;
__le32
ack_or_ba_timeout_collision
;
__le32
ack_or_ba_timeout_collision
;
struct
stat
istic
s_tx_non_phy_agg
agg
;
struct
stats_tx_non_phy_agg
agg
;
__le32
reserved1
;
__le32
reserved1
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_div
{
struct
stats_div
{
__le32
tx_on_a
;
__le32
tx_on_a
;
__le32
tx_on_b
;
__le32
tx_on_b
;
__le32
exec_time
;
__le32
exec_time
;
...
@@ -2935,14 +2935,14 @@ struct statistics_div {
...
@@ -2935,14 +2935,14 @@ struct statistics_div {
__le32
reserved2
;
__le32
reserved2
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_general_common
{
struct
stats_general_common
{
__le32
temperature
;
/* radio temperature */
__le32
temperature
;
/* radio temperature */
struct
stat
istic
s_dbg
dbg
;
struct
stats_dbg
dbg
;
__le32
sleep_time
;
__le32
sleep_time
;
__le32
slots_out
;
__le32
slots_out
;
__le32
slots_idle
;
__le32
slots_idle
;
__le32
ttl_timestamp
;
__le32
ttl_timestamp
;
struct
stat
istic
s_div
div
;
struct
stats_div
div
;
__le32
rx_enable_counter
;
__le32
rx_enable_counter
;
/*
/*
* num_of_sos_states:
* num_of_sos_states:
...
@@ -2952,8 +2952,8 @@ struct statistics_general_common {
...
@@ -2952,8 +2952,8 @@ struct statistics_general_common {
__le32
num_of_sos_states
;
__le32
num_of_sos_states
;
}
__packed
;
}
__packed
;
struct
stat
istic
s_general
{
struct
stats_general
{
struct
stat
istic
s_general_common
common
;
struct
stats_general_common
common
;
__le32
reserved2
;
__le32
reserved2
;
__le32
reserved3
;
__le32
reserved3
;
}
__packed
;
}
__packed
;
...
@@ -2966,11 +2966,11 @@ struct statistics_general {
...
@@ -2966,11 +2966,11 @@ struct statistics_general {
* REPLY_STATISTICS_CMD = 0x9c,
* REPLY_STATISTICS_CMD = 0x9c,
* all devices identical.
* all devices identical.
*
*
* This command triggers an immediate response containing uCode stat
istic
s.
* This command triggers an immediate response containing uCode stats.
* The response is in the same format as STATISTICS_NOTIFICATION 0x9d, below.
* The response is in the same format as STATISTICS_NOTIFICATION 0x9d, below.
*
*
* If the CLEAR_STATS configuration flag is set, uCode will clear its
* If the CLEAR_STATS configuration flag is set, uCode will clear its
* internal copy of the stat
istic
s (counters) after issuing the response.
* internal copy of the stats (counters) after issuing the response.
* This flag does not affect STATISTICS_NOTIFICATIONs after beacons (see below).
* This flag does not affect STATISTICS_NOTIFICATIONs after beacons (see below).
*
*
* If the DISABLE_NOTIF configuration flag is set, uCode will not issue
* If the DISABLE_NOTIF configuration flag is set, uCode will not issue
...
@@ -2979,7 +2979,7 @@ struct statistics_general {
...
@@ -2979,7 +2979,7 @@ struct statistics_general {
*/
*/
#define IL_STATS_CONF_CLEAR_STATS cpu_to_le32(0x1)
/* see above */
#define IL_STATS_CONF_CLEAR_STATS cpu_to_le32(0x1)
/* see above */
#define IL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)
/* see above */
#define IL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)
/* see above */
struct
il_stat
istic
s_cmd
{
struct
il_stats_cmd
{
__le32
configuration_flags
;
/* IL_STATS_CONF_* */
__le32
configuration_flags
;
/* IL_STATS_CONF_* */
}
__packed
;
}
__packed
;
...
@@ -2994,25 +2994,25 @@ struct il_statistics_cmd {
...
@@ -2994,25 +2994,25 @@ struct il_statistics_cmd {
* cleared when changing channels or when driver issues REPLY_STATISTICS_CMD
* cleared when changing channels or when driver issues REPLY_STATISTICS_CMD
* 0x9c with CLEAR_STATS bit set (see above).
* 0x9c with CLEAR_STATS bit set (see above).
*
*
* uCode also issues this notification during scans. uCode clears stat
istic
s
* uCode also issues this notification during scans. uCode clears stats
* appropriately so that each notification contains stat
istic
s for only the
* appropriately so that each notification contains stats for only the
* one channel that has just been scanned.
* one channel that has just been scanned.
*/
*/
#define STATISTICS_REPLY_FLG_BAND_24G_MSK cpu_to_le32(0x2)
#define STATISTICS_REPLY_FLG_BAND_24G_MSK cpu_to_le32(0x2)
#define STATISTICS_REPLY_FLG_HT40_MODE_MSK cpu_to_le32(0x8)
#define STATISTICS_REPLY_FLG_HT40_MODE_MSK cpu_to_le32(0x8)
struct
il3945_notif_stat
istic
s
{
struct
il3945_notif_stats
{
__le32
flag
;
__le32
flag
;
struct
iwl39_stat
istic
s_rx
rx
;
struct
iwl39_stats_rx
rx
;
struct
iwl39_stat
istic
s_tx
tx
;
struct
iwl39_stats_tx
tx
;
struct
iwl39_stat
istic
s_general
general
;
struct
iwl39_stats_general
general
;
}
__packed
;
}
__packed
;
struct
il_notif_stat
istic
s
{
struct
il_notif_stats
{
__le32
flag
;
__le32
flag
;
struct
stat
istic
s_rx
rx
;
struct
stats_rx
rx
;
struct
stat
istic
s_tx
tx
;
struct
stats_tx
tx
;
struct
stat
istic
s_general
general
;
struct
stats_general
general
;
}
__packed
;
}
__packed
;
/*
/*
...
@@ -3078,10 +3078,10 @@ struct il_missed_beacon_notif {
...
@@ -3078,10 +3078,10 @@ struct il_missed_beacon_notif {
*
*
* While associated, uCode delivers STATISTICS_NOTIFICATIONs after each
* While associated, uCode delivers STATISTICS_NOTIFICATIONs after each
* received beacon. These provide information to the driver to analyze the
* received beacon. These provide information to the driver to analyze the
* sensitivity. Don't analyze stat
istic
s that come in from scanning, or any
* sensitivity. Don't analyze stats that come in from scanning, or any
* other non-associated-network source. Pertinent stat
istic
s include:
* other non-associated-network source. Pertinent stats include:
*
*
* From "general" stat
istics (struct statistic
s_rx_non_phy):
* From "general" stat
s (struct stat
s_rx_non_phy):
*
*
* (beacon_energy_[abc] & 0x0FF00) >> 8 (unsigned, higher value is lower level)
* (beacon_energy_[abc] & 0x0FF00) >> 8 (unsigned, higher value is lower level)
* Measure of energy of desired signal. Used for establishing a level
* Measure of energy of desired signal. Used for establishing a level
...
@@ -3094,7 +3094,7 @@ struct il_missed_beacon_notif {
...
@@ -3094,7 +3094,7 @@ struct il_missed_beacon_notif {
* uSecs of actual Rx time during beacon period (varies according to
* uSecs of actual Rx time during beacon period (varies according to
* how much time was spent transmitting).
* how much time was spent transmitting).
*
*
* From "cck" and "ofdm" stat
istics (struct statistic
s_rx_phy), separately:
* From "cck" and "ofdm" stat
s (struct stat
s_rx_phy), separately:
*
*
* false_alarm_cnt
* false_alarm_cnt
* Signal locks abandoned early (before phy-level header).
* Signal locks abandoned early (before phy-level header).
...
@@ -3255,8 +3255,8 @@ struct il_sensitivity_cmd {
...
@@ -3255,8 +3255,8 @@ struct il_sensitivity_cmd {
* This command sets the relative gains of 4965 device's 3 radio receiver chains.
* This command sets the relative gains of 4965 device's 3 radio receiver chains.
*
*
* After the first association, driver should accumulate signal and noise
* After the first association, driver should accumulate signal and noise
* stat
istic
s from the STATISTICS_NOTIFICATIONs that follow the first 20
* stats from the STATISTICS_NOTIFICATIONs that follow the first 20
* beacons from the associated network (don't collect stat
istic
s that come
* beacons from the associated network (don't collect stats that come
* in from scanning, or any other non-network source).
* in from scanning, or any other non-network source).
*
*
* DISCONNECTED ANTENNA:
* DISCONNECTED ANTENNA:
...
@@ -3264,7 +3264,7 @@ struct il_sensitivity_cmd {
...
@@ -3264,7 +3264,7 @@ struct il_sensitivity_cmd {
* Driver should determine which antennas are actually connected, by comparing
* Driver should determine which antennas are actually connected, by comparing
* average beacon signal levels for the 3 Rx chains. Accumulate (add) the
* average beacon signal levels for the 3 Rx chains. Accumulate (add) the
* following values over 20 beacons, one accumulator for each of the chains
* following values over 20 beacons, one accumulator for each of the chains
* a/b/c, from struct stat
istic
s_rx_non_phy:
* a/b/c, from struct stats_rx_non_phy:
*
*
* beacon_rssi_[abc] & 0x0FF (unsigned, units in dB)
* beacon_rssi_[abc] & 0x0FF (unsigned, units in dB)
*
*
...
@@ -3283,7 +3283,7 @@ struct il_sensitivity_cmd {
...
@@ -3283,7 +3283,7 @@ struct il_sensitivity_cmd {
* to antennas, see above) for gain, by comparing the average signal levels
* to antennas, see above) for gain, by comparing the average signal levels
* detected during the silence after each beacon (background noise).
* detected during the silence after each beacon (background noise).
* Accumulate (add) the following values over 20 beacons, one accumulator for
* Accumulate (add) the following values over 20 beacons, one accumulator for
* each of the chains a/b/c, from struct stat
istic
s_rx_non_phy:
* each of the chains a/b/c, from struct stats_rx_non_phy:
*
*
* beacon_silence_rssi_[abc] & 0x0FF (unsigned, units in dB)
* beacon_silence_rssi_[abc] & 0x0FF (unsigned, units in dB)
*
*
...
@@ -3387,7 +3387,7 @@ struct il_rx_pkt {
...
@@ -3387,7 +3387,7 @@ struct il_rx_pkt {
struct
il_rem_sta_resp
rem_sta
;
struct
il_rem_sta_resp
rem_sta
;
struct
il_sleep_notification
sleep_notif
;
struct
il_sleep_notification
sleep_notif
;
struct
il_spectrum_resp
spectrum
;
struct
il_spectrum_resp
spectrum
;
struct
il_notif_stat
istic
s
stats
;
struct
il_notif_stats
stats
;
struct
il_compressed_ba_resp
compressed_ba
;
struct
il_compressed_ba_resp
compressed_ba
;
struct
il_missed_beacon_notif
missed_beacon
;
struct
il_missed_beacon_notif
missed_beacon
;
__le32
status
;
__le32
status
;
...
...
drivers/net/wireless/iwlegacy/iwl-core.c
View file @
ebf0d90d
...
@@ -1187,23 +1187,23 @@ void il_send_bt_config(struct il_priv *il)
...
@@ -1187,23 +1187,23 @@ void il_send_bt_config(struct il_priv *il)
}
}
EXPORT_SYMBOL
(
il_send_bt_config
);
EXPORT_SYMBOL
(
il_send_bt_config
);
int
il_send_stat
istic
s_request
(
struct
il_priv
*
il
,
u8
flags
,
bool
clear
)
int
il_send_stats_request
(
struct
il_priv
*
il
,
u8
flags
,
bool
clear
)
{
{
struct
il_stat
istics_cmd
statistic
s_cmd
=
{
struct
il_stat
s_cmd
stat
s_cmd
=
{
.
configuration_flags
=
.
configuration_flags
=
clear
?
IL_STATS_CONF_CLEAR_STATS
:
0
,
clear
?
IL_STATS_CONF_CLEAR_STATS
:
0
,
};
};
if
(
flags
&
CMD_ASYNC
)
if
(
flags
&
CMD_ASYNC
)
return
il_send_cmd_pdu_async
(
il
,
REPLY_STATISTICS_CMD
,
return
il_send_cmd_pdu_async
(
il
,
REPLY_STATISTICS_CMD
,
sizeof
(
struct
il_stat
istic
s_cmd
),
sizeof
(
struct
il_stats_cmd
),
&
stat
istic
s_cmd
,
NULL
);
&
stats_cmd
,
NULL
);
else
else
return
il_send_cmd_pdu
(
il
,
REPLY_STATISTICS_CMD
,
return
il_send_cmd_pdu
(
il
,
REPLY_STATISTICS_CMD
,
sizeof
(
struct
il_stat
istic
s_cmd
),
sizeof
(
struct
il_stats_cmd
),
&
stat
istic
s_cmd
);
&
stats_cmd
);
}
}
EXPORT_SYMBOL
(
il_send_stat
istic
s_request
);
EXPORT_SYMBOL
(
il_send_stats_request
);
void
il_rx_pm_sleep_notif
(
struct
il_priv
*
il
,
void
il_rx_pm_sleep_notif
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
)
struct
il_rx_buf
*
rxb
)
...
@@ -1217,7 +1217,7 @@ void il_rx_pm_sleep_notif(struct il_priv *il,
...
@@ -1217,7 +1217,7 @@ void il_rx_pm_sleep_notif(struct il_priv *il,
}
}
EXPORT_SYMBOL
(
il_rx_pm_sleep_notif
);
EXPORT_SYMBOL
(
il_rx_pm_sleep_notif
);
void
il_rx_pm_debug_stat
istic
s_notif
(
struct
il_priv
*
il
,
void
il_rx_pm_debug_stats_notif
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
)
struct
il_rx_buf
*
rxb
)
{
{
struct
il_rx_pkt
*
pkt
=
rxb_addr
(
rxb
);
struct
il_rx_pkt
*
pkt
=
rxb_addr
(
rxb
);
...
@@ -1227,7 +1227,7 @@ void il_rx_pm_debug_statistics_notif(struct il_priv *il,
...
@@ -1227,7 +1227,7 @@ void il_rx_pm_debug_statistics_notif(struct il_priv *il,
il_get_cmd_string
(
pkt
->
hdr
.
cmd
));
il_get_cmd_string
(
pkt
->
hdr
.
cmd
));
il_print_hex_dump
(
il
,
IL_DL_RADIO
,
pkt
->
u
.
raw
,
len
);
il_print_hex_dump
(
il
,
IL_DL_RADIO
,
pkt
->
u
.
raw
,
len
);
}
}
EXPORT_SYMBOL
(
il_rx_pm_debug_stat
istic
s_notif
);
EXPORT_SYMBOL
(
il_rx_pm_debug_stats_notif
);
void
il_rx_reply_error
(
struct
il_priv
*
il
,
void
il_rx_reply_error
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
)
struct
il_rx_buf
*
rxb
)
...
@@ -1614,7 +1614,7 @@ void il_clear_traffic_stats(struct il_priv *il)
...
@@ -1614,7 +1614,7 @@ void il_clear_traffic_stats(struct il_priv *il)
* if CONFIG_IWLEGACY_DEBUGFS defined,
* if CONFIG_IWLEGACY_DEBUGFS defined,
* il_update_stats function will
* il_update_stats function will
* record all the MGMT, CTRL and DATA pkt for both TX and Rx pass
* record all the MGMT, CTRL and DATA pkt for both TX and Rx pass
* Use debugFs to display the rx/rx_stat
istic
s
* Use debugFs to display the rx/rx_stats
* if CONFIG_IWLEGACY_DEBUGFS not being defined, then no MGMT and CTRL
* if CONFIG_IWLEGACY_DEBUGFS not being defined, then no MGMT and CTRL
* information will be recorded, but DATA pkt still will be recorded
* information will be recorded, but DATA pkt still will be recorded
* for the reason of il_led.c need to control the led blinking based on
* for the reason of il_led.c need to control the led blinking based on
...
...
drivers/net/wireless/iwlegacy/iwl-core.h
View file @
ebf0d90d
...
@@ -371,7 +371,7 @@ static inline void il_update_stats(struct il_priv *il, bool is_tx,
...
@@ -371,7 +371,7 @@ static inline void il_update_stats(struct il_priv *il, bool is_tx,
* **************************************************/
* **************************************************/
void
il_rx_pm_sleep_notif
(
struct
il_priv
*
il
,
void
il_rx_pm_sleep_notif
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
void
il_rx_pm_debug_stat
istic
s_notif
(
struct
il_priv
*
il
,
void
il_rx_pm_debug_stats_notif
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
void
il_rx_reply_error
(
struct
il_priv
*
il
,
void
il_rx_reply_error
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
...
@@ -390,7 +390,7 @@ void il_tx_cmd_complete(struct il_priv *il,
...
@@ -390,7 +390,7 @@ void il_tx_cmd_complete(struct il_priv *il,
/* Handlers */
/* Handlers */
void
il_rx_spectrum_measure_notif
(
struct
il_priv
*
il
,
void
il_rx_spectrum_measure_notif
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
struct
il_rx_buf
*
rxb
);
void
il_recover_from_stat
istic
s
(
struct
il_priv
*
il
,
void
il_recover_from_stats
(
struct
il_priv
*
il
,
struct
il_rx_pkt
*
pkt
);
struct
il_rx_pkt
*
pkt
);
void
il_chswitch_done
(
struct
il_priv
*
il
,
bool
is_success
);
void
il_chswitch_done
(
struct
il_priv
*
il
,
bool
is_success
);
void
il_rx_csa
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
void
il_rx_csa
(
struct
il_priv
*
il
,
struct
il_rx_buf
*
rxb
);
...
@@ -596,7 +596,7 @@ static inline int il_is_ready_rf(struct il_priv *il)
...
@@ -596,7 +596,7 @@ static inline int il_is_ready_rf(struct il_priv *il)
}
}
extern
void
il_send_bt_config
(
struct
il_priv
*
il
);
extern
void
il_send_bt_config
(
struct
il_priv
*
il
);
extern
int
il_send_stat
istic
s_request
(
struct
il_priv
*
il
,
extern
int
il_send_stats_request
(
struct
il_priv
*
il
,
u8
flags
,
bool
clear
);
u8
flags
,
bool
clear
);
void
il_apm_stop
(
struct
il_priv
*
il
);
void
il_apm_stop
(
struct
il_priv
*
il
);
int
il_apm_init
(
struct
il_priv
*
il
);
int
il_apm_init
(
struct
il_priv
*
il
);
...
...
drivers/net/wireless/iwlegacy/iwl-debugfs.c
View file @
ebf0d90d
...
@@ -102,7 +102,7 @@ static const struct file_operations il_dbgfs_##name##_ops = { \
...
@@ -102,7 +102,7 @@ static const struct file_operations il_dbgfs_##name##_ops = { \
.llseek = generic_file_llseek, \
.llseek = generic_file_llseek, \
};
};
static
ssize_t
il_dbgfs_tx_stat
istic
s_read
(
struct
file
*
file
,
static
ssize_t
il_dbgfs_tx_stats_read
(
struct
file
*
file
,
char
__user
*
user_buf
,
char
__user
*
user_buf
,
size_t
count
,
loff_t
*
ppos
)
{
size_t
count
,
loff_t
*
ppos
)
{
...
@@ -142,7 +142,7 @@ static ssize_t il_dbgfs_tx_statistics_read(struct file *file,
...
@@ -142,7 +142,7 @@ static ssize_t il_dbgfs_tx_statistics_read(struct file *file,
}
}
static
ssize_t
static
ssize_t
il_dbgfs_clear_traffic_stat
istic
s_write
(
struct
file
*
file
,
il_dbgfs_clear_traffic_stats_write
(
struct
file
*
file
,
const
char
__user
*
user_buf
,
const
char
__user
*
user_buf
,
size_t
count
,
loff_t
*
ppos
)
size_t
count
,
loff_t
*
ppos
)
{
{
...
@@ -162,7 +162,7 @@ il_dbgfs_clear_traffic_statistics_write(struct file *file,
...
@@ -162,7 +162,7 @@ il_dbgfs_clear_traffic_statistics_write(struct file *file,
return
count
;
return
count
;
}
}
static
ssize_t
il_dbgfs_rx_stat
istic
s_read
(
struct
file
*
file
,
static
ssize_t
il_dbgfs_rx_stats_read
(
struct
file
*
file
,
char
__user
*
user_buf
,
char
__user
*
user_buf
,
size_t
count
,
loff_t
*
ppos
)
{
size_t
count
,
loff_t
*
ppos
)
{
...
@@ -1031,7 +1031,7 @@ static ssize_t il_dbgfs_power_save_status_read(struct file *file,
...
@@ -1031,7 +1031,7 @@ static ssize_t il_dbgfs_power_save_status_read(struct file *file,
return
simple_read_from_buffer
(
user_buf
,
count
,
ppos
,
buf
,
pos
);
return
simple_read_from_buffer
(
user_buf
,
count
,
ppos
,
buf
,
pos
);
}
}
static
ssize_t
il_dbgfs_clear_ucode_stat
istic
s_write
(
struct
file
*
file
,
static
ssize_t
il_dbgfs_clear_ucode_stats_write
(
struct
file
*
file
,
const
char
__user
*
user_buf
,
const
char
__user
*
user_buf
,
size_t
count
,
loff_t
*
ppos
)
size_t
count
,
loff_t
*
ppos
)
{
{
...
@@ -1047,9 +1047,9 @@ static ssize_t il_dbgfs_clear_ucode_statistics_write(struct file *file,
...
@@ -1047,9 +1047,9 @@ static ssize_t il_dbgfs_clear_ucode_statistics_write(struct file *file,
if
(
sscanf
(
buf
,
"%d"
,
&
clear
)
!=
1
)
if
(
sscanf
(
buf
,
"%d"
,
&
clear
)
!=
1
)
return
-
EFAULT
;
return
-
EFAULT
;
/* make request to uCode to retrieve stat
istic
s information */
/* make request to uCode to retrieve stats information */
mutex_lock
(
&
il
->
mutex
);
mutex_lock
(
&
il
->
mutex
);
il_send_stat
istic
s_request
(
il
,
CMD_SYNC
,
true
);
il_send_stats_request
(
il
,
CMD_SYNC
,
true
);
mutex_unlock
(
&
il
->
mutex
);
mutex_unlock
(
&
il
->
mutex
);
return
count
;
return
count
;
...
@@ -1206,8 +1206,8 @@ static ssize_t il_dbgfs_wd_timeout_write(struct file *file,
...
@@ -1206,8 +1206,8 @@ static ssize_t il_dbgfs_wd_timeout_write(struct file *file,
return
count
;
return
count
;
}
}
DEBUGFS_READ_FILE_OPS
(
rx_stat
istic
s
);
DEBUGFS_READ_FILE_OPS
(
rx_stats
);
DEBUGFS_READ_FILE_OPS
(
tx_stat
istic
s
);
DEBUGFS_READ_FILE_OPS
(
tx_stats
);
DEBUGFS_READ_WRITE_FILE_OPS
(
traffic_log
);
DEBUGFS_READ_WRITE_FILE_OPS
(
traffic_log
);
DEBUGFS_READ_FILE_OPS
(
rx_queue
);
DEBUGFS_READ_FILE_OPS
(
rx_queue
);
DEBUGFS_READ_FILE_OPS
(
tx_queue
);
DEBUGFS_READ_FILE_OPS
(
tx_queue
);
...
@@ -1217,8 +1217,8 @@ DEBUGFS_READ_FILE_OPS(ucode_general_stats);
...
@@ -1217,8 +1217,8 @@ DEBUGFS_READ_FILE_OPS(ucode_general_stats);
DEBUGFS_READ_FILE_OPS
(
sensitivity
);
DEBUGFS_READ_FILE_OPS
(
sensitivity
);
DEBUGFS_READ_FILE_OPS
(
chain_noise
);
DEBUGFS_READ_FILE_OPS
(
chain_noise
);
DEBUGFS_READ_FILE_OPS
(
power_save_status
);
DEBUGFS_READ_FILE_OPS
(
power_save_status
);
DEBUGFS_WRITE_FILE_OPS
(
clear_ucode_stat
istic
s
);
DEBUGFS_WRITE_FILE_OPS
(
clear_ucode_stats
);
DEBUGFS_WRITE_FILE_OPS
(
clear_traffic_stat
istic
s
);
DEBUGFS_WRITE_FILE_OPS
(
clear_traffic_stats
);
DEBUGFS_READ_FILE_OPS
(
fh_reg
);
DEBUGFS_READ_FILE_OPS
(
fh_reg
);
DEBUGFS_READ_WRITE_FILE_OPS
(
missed_beacon
);
DEBUGFS_READ_WRITE_FILE_OPS
(
missed_beacon
);
DEBUGFS_READ_WRITE_FILE_OPS
(
force_reset
);
DEBUGFS_READ_WRITE_FILE_OPS
(
force_reset
);
...
@@ -1259,14 +1259,14 @@ int il_dbgfs_register(struct il_priv *il, const char *name)
...
@@ -1259,14 +1259,14 @@ int il_dbgfs_register(struct il_priv *il, const char *name)
DEBUGFS_ADD_FILE
(
interrupt
,
dir_data
,
S_IWUSR
|
S_IRUSR
);
DEBUGFS_ADD_FILE
(
interrupt
,
dir_data
,
S_IWUSR
|
S_IRUSR
);
DEBUGFS_ADD_FILE
(
qos
,
dir_data
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
qos
,
dir_data
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
disable_ht40
,
dir_data
,
S_IWUSR
|
S_IRUSR
);
DEBUGFS_ADD_FILE
(
disable_ht40
,
dir_data
,
S_IWUSR
|
S_IRUSR
);
DEBUGFS_ADD_FILE
(
rx_stat
istic
s
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
rx_stats
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
tx_stat
istic
s
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
tx_stats
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
traffic_log
,
dir_debug
,
S_IWUSR
|
S_IRUSR
);
DEBUGFS_ADD_FILE
(
traffic_log
,
dir_debug
,
S_IWUSR
|
S_IRUSR
);
DEBUGFS_ADD_FILE
(
rx_queue
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
rx_queue
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
tx_queue
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
tx_queue
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
power_save_status
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
power_save_status
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
clear_ucode_stat
istic
s
,
dir_debug
,
S_IWUSR
);
DEBUGFS_ADD_FILE
(
clear_ucode_stats
,
dir_debug
,
S_IWUSR
);
DEBUGFS_ADD_FILE
(
clear_traffic_stat
istic
s
,
dir_debug
,
S_IWUSR
);
DEBUGFS_ADD_FILE
(
clear_traffic_stats
,
dir_debug
,
S_IWUSR
);
DEBUGFS_ADD_FILE
(
fh_reg
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
fh_reg
,
dir_debug
,
S_IRUSR
);
DEBUGFS_ADD_FILE
(
missed_beacon
,
dir_debug
,
S_IWUSR
);
DEBUGFS_ADD_FILE
(
missed_beacon
,
dir_debug
,
S_IWUSR
);
DEBUGFS_ADD_FILE
(
force_reset
,
dir_debug
,
S_IWUSR
|
S_IRUSR
);
DEBUGFS_ADD_FILE
(
force_reset
,
dir_debug
,
S_IWUSR
|
S_IRUSR
);
...
...
drivers/net/wireless/iwlegacy/iwl-dev.h
View file @
ebf0d90d
...
@@ -57,7 +57,7 @@ struct il_tx_queue;
...
@@ -57,7 +57,7 @@ struct il_tx_queue;
/* Default noise level to report when noise measurement is not available.
/* Default noise level to report when noise measurement is not available.
* This may be because we're:
* This may be because we're:
* 1) Not associated (4965, no beacon stat
istic
s being sent to driver)
* 1) Not associated (4965, no beacon stats being sent to driver)
* 2) Scanning (noise measurement does not apply to associated channel)
* 2) Scanning (noise measurement does not apply to associated channel)
* 3) Receiving CCK (3945 delivers noise info only for OFDM frames)
* 3) Receiving CCK (3945 delivers noise info only for OFDM frames)
* Use default noise value of -127 ... this is below the range of measurable
* Use default noise value of -127 ... this is below the range of measurable
...
@@ -801,8 +801,8 @@ enum {
...
@@ -801,8 +801,8 @@ enum {
MEASUREMENT_ACTIVE
=
(
1
<<
1
),
MEASUREMENT_ACTIVE
=
(
1
<<
1
),
};
};
/* interrupt stat
istic
s */
/* interrupt stats */
struct
isr_stat
istic
s
{
struct
isr_stats
{
u32
hw
;
u32
hw
;
u32
sw
;
u32
sw
;
u32
err_code
;
u32
err_code
;
...
@@ -817,7 +817,7 @@ struct isr_statistics {
...
@@ -817,7 +817,7 @@ struct isr_statistics {
u32
unhandled
;
u32
unhandled
;
};
};
/* management stat
istic
s */
/* management stats */
enum
il_mgmt_stats
{
enum
il_mgmt_stats
{
MANAGEMENT_ASSOC_REQ
=
0
,
MANAGEMENT_ASSOC_REQ
=
0
,
MANAGEMENT_ASSOC_RESP
,
MANAGEMENT_ASSOC_RESP
,
...
@@ -833,7 +833,7 @@ enum il_mgmt_stats {
...
@@ -833,7 +833,7 @@ enum il_mgmt_stats {
MANAGEMENT_ACTION
,
MANAGEMENT_ACTION
,
MANAGEMENT_MAX
,
MANAGEMENT_MAX
,
};
};
/* control stat
istic
s */
/* control stats */
enum
il_ctrl_stats
{
enum
il_ctrl_stats
{
CONTROL_BACK_REQ
=
0
,
CONTROL_BACK_REQ
=
0
,
CONTROL_BACK
,
CONTROL_BACK
,
...
@@ -1087,7 +1087,7 @@ struct il_priv {
...
@@ -1087,7 +1087,7 @@ struct il_priv {
struct
traffic_stats
rx_stats
;
struct
traffic_stats
rx_stats
;
/* counts interrupts */
/* counts interrupts */
struct
isr_stat
istic
s
isr_stats
;
struct
isr_stats
isr_stats
;
struct
il_power_mgr
power_data
;
struct
il_power_mgr
power_data
;
...
@@ -1131,15 +1131,15 @@ struct il_priv {
...
@@ -1131,15 +1131,15 @@ struct il_priv {
struct
delayed_work
thermal_periodic
;
struct
delayed_work
thermal_periodic
;
struct
delayed_work
rfkill_poll
;
struct
delayed_work
rfkill_poll
;
struct
il3945_notif_stat
istics
statistic
s
;
struct
il3945_notif_stat
s
stat
s
;
#ifdef CONFIG_IWLEGACY_DEBUGFS
#ifdef CONFIG_IWLEGACY_DEBUGFS
struct
il3945_notif_stat
istics
accum_statistic
s
;
struct
il3945_notif_stat
s
accum_stat
s
;
struct
il3945_notif_stat
istics
delta_statistic
s
;
struct
il3945_notif_stat
s
delta_stat
s
;
struct
il3945_notif_stat
istic
s
max_delta
;
struct
il3945_notif_stats
max_delta
;
#endif
#endif
u32
sta_supp_rates
;
u32
sta_supp_rates
;
int
last_rx_rssi
;
/* From Rx packet stat
istic
s */
int
last_rx_rssi
;
/* From Rx packet stats */
/* Rx'd packet timing information */
/* Rx'd packet timing information */
u32
last_beacon_time
;
u32
last_beacon_time
;
...
@@ -1169,11 +1169,11 @@ struct il_priv {
...
@@ -1169,11 +1169,11 @@ struct il_priv {
u8
phy_calib_chain_noise_reset_cmd
;
u8
phy_calib_chain_noise_reset_cmd
;
u8
phy_calib_chain_noise_gain_cmd
;
u8
phy_calib_chain_noise_gain_cmd
;
struct
il_notif_stat
istics
statistic
s
;
struct
il_notif_stat
s
stat
s
;
#ifdef CONFIG_IWLEGACY_DEBUGFS
#ifdef CONFIG_IWLEGACY_DEBUGFS
struct
il_notif_stat
istics
accum_statistic
s
;
struct
il_notif_stat
s
accum_stat
s
;
struct
il_notif_stat
istics
delta_statistic
s
;
struct
il_notif_stat
s
delta_stat
s
;
struct
il_notif_stat
istic
s
max_delta
;
struct
il_notif_stats
max_delta
;
#endif
#endif
}
_4965
;
}
_4965
;
...
@@ -1229,7 +1229,7 @@ struct il_priv {
...
@@ -1229,7 +1229,7 @@ struct il_priv {
u32
disable_chain_noise_cal
;
u32
disable_chain_noise_cal
;
u32
disable_tx_power_cal
;
u32
disable_tx_power_cal
;
struct
work_struct
run_time_calib_work
;
struct
work_struct
run_time_calib_work
;
struct
timer_list
stat
istic
s_periodic
;
struct
timer_list
stats_periodic
;
struct
timer_list
watchdog
;
struct
timer_list
watchdog
;
bool
hw_ready
;
bool
hw_ready
;
...
...
drivers/net/wireless/iwlegacy/iwl-legacy-rs.h
View file @
ebf0d90d
...
@@ -335,7 +335,7 @@ struct il_scale_tbl_info {
...
@@ -335,7 +335,7 @@ struct il_scale_tbl_info {
};
};
struct
il_traffic_load
{
struct
il_traffic_load
{
unsigned
long
time_stamp
;
/* age of the oldest stat
istic
s */
unsigned
long
time_stamp
;
/* age of the oldest stats */
u32
packet_count
[
TID_QUEUE_MAX_SIZE
];
/* packet count in this time
u32
packet_count
[
TID_QUEUE_MAX_SIZE
];
/* packet count in this time
* slice */
* slice */
u32
total
;
/* total num of packets during the
u32
total
;
/* total num of packets during the
...
...
drivers/net/wireless/iwlegacy/iwl-scan.c
View file @
ebf0d90d
...
@@ -229,7 +229,7 @@ static void il_rx_scan_results_notif(struct il_priv *il,
...
@@ -229,7 +229,7 @@ static void il_rx_scan_results_notif(struct il_priv *il,
notif
->
band
?
"bg"
:
"a"
,
notif
->
band
?
"bg"
:
"a"
,
le32_to_cpu
(
notif
->
tsf_high
),
le32_to_cpu
(
notif
->
tsf_high
),
le32_to_cpu
(
notif
->
tsf_low
),
le32_to_cpu
(
notif
->
tsf_low
),
le32_to_cpu
(
notif
->
stat
istic
s
[
0
]),
le32_to_cpu
(
notif
->
stats
[
0
]),
le32_to_cpu
(
notif
->
tsf_low
)
-
il
->
scan_start_tsf
);
le32_to_cpu
(
notif
->
tsf_low
)
-
il
->
scan_start_tsf
);
#endif
#endif
}
}
...
...
drivers/net/wireless/iwlegacy/iwl3945-base.c
View file @
ebf0d90d
...
@@ -862,16 +862,16 @@ static void il3945_setup_rx_handlers(struct il_priv *il)
...
@@ -862,16 +862,16 @@ static void il3945_setup_rx_handlers(struct il_priv *il)
il_rx_spectrum_measure_notif
;
il_rx_spectrum_measure_notif
;
il
->
rx_handlers
[
PM_SLEEP_NOTIFICATION
]
=
il_rx_pm_sleep_notif
;
il
->
rx_handlers
[
PM_SLEEP_NOTIFICATION
]
=
il_rx_pm_sleep_notif
;
il
->
rx_handlers
[
PM_DEBUG_STATISTIC_NOTIFIC
]
=
il
->
rx_handlers
[
PM_DEBUG_STATISTIC_NOTIFIC
]
=
il_rx_pm_debug_stat
istic
s_notif
;
il_rx_pm_debug_stats_notif
;
il
->
rx_handlers
[
BEACON_NOTIFICATION
]
=
il3945_rx_beacon_notif
;
il
->
rx_handlers
[
BEACON_NOTIFICATION
]
=
il3945_rx_beacon_notif
;
/*
/*
* The same handler is used for both the REPLY to a discrete
* The same handler is used for both the REPLY to a discrete
* stat
istic
s request from the host as well as for the periodic
* stats request from the host as well as for the periodic
* stat
istic
s notifications (after received beacons) from the uCode.
* stats notifications (after received beacons) from the uCode.
*/
*/
il
->
rx_handlers
[
REPLY_STATISTICS_CMD
]
=
il3945_reply_stat
istic
s
;
il
->
rx_handlers
[
REPLY_STATISTICS_CMD
]
=
il3945_reply_stats
;
il
->
rx_handlers
[
STATISTICS_NOTIFICATION
]
=
il3945_hw_rx_stat
istic
s
;
il
->
rx_handlers
[
STATISTICS_NOTIFICATION
]
=
il3945_hw_rx_stats
;
il_setup_rx_scan_handlers
(
il
);
il_setup_rx_scan_handlers
(
il
);
il
->
rx_handlers
[
CARD_STATE_NOTIFICATION
]
=
il3945_rx_card_state_notif
;
il
->
rx_handlers
[
CARD_STATE_NOTIFICATION
]
=
il3945_rx_card_state_notif
;
...
...
drivers/net/wireless/iwlegacy/iwl4965-base.c
View file @
ebf0d90d
...
@@ -464,16 +464,16 @@ static void il4965_rx_reply_alive(struct il_priv *il,
...
@@ -464,16 +464,16 @@ static void il4965_rx_reply_alive(struct il_priv *il,
}
}
/**
/**
* il4965_bg_stat
istics_periodic - Timer callback to queue statistic
s
* il4965_bg_stat
s_periodic - Timer callback to queue stat
s
*
*
* This callback is provided in order to send a stat
istic
s request.
* This callback is provided in order to send a stats request.
*
*
* This timer function is continually reset to execute within
* This timer function is continually reset to execute within
* REG_RECALIB_PERIOD seconds since the last STATISTICS_NOTIFICATION
* REG_RECALIB_PERIOD seconds since the last STATISTICS_NOTIFICATION
* was received. We need to ensure we receive the stat
istic
s in order
* was received. We need to ensure we receive the stats in order
* to update the temperature used for calibrating the TXPOWER.
* to update the temperature used for calibrating the TXPOWER.
*/
*/
static
void
il4965_bg_stat
istic
s_periodic
(
unsigned
long
data
)
static
void
il4965_bg_stats_periodic
(
unsigned
long
data
)
{
{
struct
il_priv
*
il
=
(
struct
il_priv
*
)
data
;
struct
il_priv
*
il
=
(
struct
il_priv
*
)
data
;
...
@@ -484,7 +484,7 @@ static void il4965_bg_statistics_periodic(unsigned long data)
...
@@ -484,7 +484,7 @@ static void il4965_bg_statistics_periodic(unsigned long data)
if
(
!
il_is_ready_rf
(
il
))
if
(
!
il_is_ready_rf
(
il
))
return
;
return
;
il_send_stat
istic
s_request
(
il
,
CMD_ASYNC
,
false
);
il_send_stats_request
(
il
,
CMD_ASYNC
,
false
);
}
}
static
void
il4965_rx_beacon_notif
(
struct
il_priv
*
il
,
static
void
il4965_rx_beacon_notif
(
struct
il_priv
*
il
,
...
@@ -596,16 +596,16 @@ static void il4965_setup_rx_handlers(struct il_priv *il)
...
@@ -596,16 +596,16 @@ static void il4965_setup_rx_handlers(struct il_priv *il)
il_rx_spectrum_measure_notif
;
il_rx_spectrum_measure_notif
;
il
->
rx_handlers
[
PM_SLEEP_NOTIFICATION
]
=
il_rx_pm_sleep_notif
;
il
->
rx_handlers
[
PM_SLEEP_NOTIFICATION
]
=
il_rx_pm_sleep_notif
;
il
->
rx_handlers
[
PM_DEBUG_STATISTIC_NOTIFIC
]
=
il
->
rx_handlers
[
PM_DEBUG_STATISTIC_NOTIFIC
]
=
il_rx_pm_debug_stat
istic
s_notif
;
il_rx_pm_debug_stats_notif
;
il
->
rx_handlers
[
BEACON_NOTIFICATION
]
=
il4965_rx_beacon_notif
;
il
->
rx_handlers
[
BEACON_NOTIFICATION
]
=
il4965_rx_beacon_notif
;
/*
/*
* The same handler is used for both the REPLY to a discrete
* The same handler is used for both the REPLY to a discrete
* stat
istic
s request from the host as well as for the periodic
* stats request from the host as well as for the periodic
* stat
istic
s notifications (after received beacons) from the uCode.
* stats notifications (after received beacons) from the uCode.
*/
*/
il
->
rx_handlers
[
REPLY_STATISTICS_CMD
]
=
il4965_reply_stat
istic
s
;
il
->
rx_handlers
[
REPLY_STATISTICS_CMD
]
=
il4965_reply_stats
;
il
->
rx_handlers
[
STATISTICS_NOTIFICATION
]
=
il4965_rx_stat
istic
s
;
il
->
rx_handlers
[
STATISTICS_NOTIFICATION
]
=
il4965_rx_stats
;
il_setup_rx_scan_handlers
(
il
);
il_setup_rx_scan_handlers
(
il
);
...
@@ -2105,9 +2105,9 @@ static void il4965_bg_run_time_calib_work(struct work_struct *work)
...
@@ -2105,9 +2105,9 @@ static void il4965_bg_run_time_calib_work(struct work_struct *work)
if
(
il
->
start_calib
)
{
if
(
il
->
start_calib
)
{
il4965_chain_noise_calibration
(
il
,
il4965_chain_noise_calibration
(
il
,
(
void
*
)
&
il
->
_4965
.
stat
istic
s
);
(
void
*
)
&
il
->
_4965
.
stats
);
il4965_sensitivity_calibration
(
il
,
il4965_sensitivity_calibration
(
il
,
(
void
*
)
&
il
->
_4965
.
stat
istic
s
);
(
void
*
)
&
il
->
_4965
.
stats
);
}
}
mutex_unlock
(
&
il
->
mutex
);
mutex_unlock
(
&
il
->
mutex
);
...
@@ -2647,7 +2647,7 @@ static void il4965_bg_txpower_work(struct work_struct *work)
...
@@ -2647,7 +2647,7 @@ static void il4965_bg_txpower_work(struct work_struct *work)
mutex_lock
(
&
il
->
mutex
);
mutex_lock
(
&
il
->
mutex
);
/* If a scan happened to start before we got here
/* If a scan happened to start before we got here
* then just return; the stat
istic
s notification will
* then just return; the stats notification will
* kick off another scheduled work to compensate for
* kick off another scheduled work to compensate for
* any temperature delta we missed here. */
* any temperature delta we missed here. */
if
(
test_bit
(
STATUS_EXIT_PENDING
,
&
il
->
status
)
||
if
(
test_bit
(
STATUS_EXIT_PENDING
,
&
il
->
status
)
||
...
@@ -2682,9 +2682,9 @@ static void il4965_setup_deferred_work(struct il_priv *il)
...
@@ -2682,9 +2682,9 @@ static void il4965_setup_deferred_work(struct il_priv *il)
INIT_WORK
(
&
il
->
txpower_work
,
il4965_bg_txpower_work
);
INIT_WORK
(
&
il
->
txpower_work
,
il4965_bg_txpower_work
);
init_timer
(
&
il
->
stat
istic
s_periodic
);
init_timer
(
&
il
->
stats_periodic
);
il
->
stat
istic
s_periodic
.
data
=
(
unsigned
long
)
il
;
il
->
stats_periodic
.
data
=
(
unsigned
long
)
il
;
il
->
stat
istics_periodic
.
function
=
il4965_bg_statistic
s_periodic
;
il
->
stat
s_periodic
.
function
=
il4965_bg_stat
s_periodic
;
init_timer
(
&
il
->
watchdog
);
init_timer
(
&
il
->
watchdog
);
il
->
watchdog
.
data
=
(
unsigned
long
)
il
;
il
->
watchdog
.
data
=
(
unsigned
long
)
il
;
...
@@ -2703,7 +2703,7 @@ static void il4965_cancel_deferred_work(struct il_priv *il)
...
@@ -2703,7 +2703,7 @@ static void il4965_cancel_deferred_work(struct il_priv *il)
il_cancel_scan_deferred_work
(
il
);
il_cancel_scan_deferred_work
(
il
);
del_timer_sync
(
&
il
->
stat
istic
s_periodic
);
del_timer_sync
(
&
il
->
stats_periodic
);
}
}
static
void
il4965_init_hw_rates
(
struct
il_priv
*
il
,
static
void
il4965_init_hw_rates
(
struct
il_priv
*
il
,
...
...
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