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
nexedi
linux
Commits
03747377
Commit
03747377
authored
Sep 07, 2012
by
John W. Linville
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-john' of
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
parents
4a3e12fd
c5d47221
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
37 additions
and
39 deletions
+37
-39
drivers/net/wireless/iwlwifi/dvm/commands.h
drivers/net/wireless/iwlwifi/dvm/commands.h
+2
-1
drivers/net/wireless/iwlwifi/dvm/dev.h
drivers/net/wireless/iwlwifi/dvm/dev.h
+1
-0
drivers/net/wireless/iwlwifi/dvm/rx.c
drivers/net/wireless/iwlwifi/dvm/rx.c
+11
-0
drivers/net/wireless/iwlwifi/iwl-devtrace.h
drivers/net/wireless/iwlwifi/iwl-devtrace.h
+21
-13
drivers/net/wireless/iwlwifi/iwl-eeprom-parse.h
drivers/net/wireless/iwlwifi/iwl-eeprom-parse.h
+0
-2
drivers/net/wireless/iwlwifi/pcie/tx.c
drivers/net/wireless/iwlwifi/pcie/tx.c
+2
-23
No files found.
drivers/net/wireless/iwlwifi/dvm/commands.h
View file @
03747377
...
...
@@ -1055,8 +1055,9 @@ struct iwl_wep_cmd {
#define RX_RES_PHY_FLAGS_MOD_CCK_MSK cpu_to_le16(1 << 1)
#define RX_RES_PHY_FLAGS_SHORT_PREAMBLE_MSK cpu_to_le16(1 << 2)
#define RX_RES_PHY_FLAGS_NARROW_BAND_MSK cpu_to_le16(1 << 3)
#define RX_RES_PHY_FLAGS_ANTENNA_MSK 0x
f
0
#define RX_RES_PHY_FLAGS_ANTENNA_MSK 0x
7
0
#define RX_RES_PHY_FLAGS_ANTENNA_POS 4
#define RX_RES_PHY_FLAGS_AGG_MSK cpu_to_le16(1 << 7)
#define RX_RES_STATUS_SEC_TYPE_MSK (0x7 << 8)
#define RX_RES_STATUS_SEC_TYPE_NONE (0x0 << 8)
...
...
drivers/net/wireless/iwlwifi/dvm/dev.h
View file @
03747377
...
...
@@ -771,6 +771,7 @@ struct iwl_priv {
u8
agg_tids_count
;
struct
iwl_rx_phy_res
last_phy_res
;
u32
ampdu_ref
;
bool
last_phy_res_valid
;
/*
...
...
drivers/net/wireless/iwlwifi/dvm/rx.c
View file @
03747377
...
...
@@ -667,6 +667,7 @@ static int iwlagn_rx_reply_rx_phy(struct iwl_priv *priv,
struct
iwl_rx_packet
*
pkt
=
rxb_addr
(
rxb
);
priv
->
last_phy_res_valid
=
true
;
priv
->
ampdu_ref
++
;
memcpy
(
&
priv
->
last_phy_res
,
pkt
->
data
,
sizeof
(
struct
iwl_rx_phy_res
));
return
0
;
...
...
@@ -981,6 +982,16 @@ static int iwlagn_rx_reply_rx(struct iwl_priv *priv,
if
(
phy_res
->
phy_flags
&
RX_RES_PHY_FLAGS_SHORT_PREAMBLE_MSK
)
rx_status
.
flag
|=
RX_FLAG_SHORTPRE
;
if
(
phy_res
->
phy_flags
&
RX_RES_PHY_FLAGS_AGG_MSK
)
{
/*
* We know which subframes of an A-MPDU belong
* together since we get a single PHY response
* from the firmware for all of them
*/
rx_status
.
flag
|=
RX_FLAG_AMPDU_DETAILS
;
rx_status
.
ampdu_reference
=
priv
->
ampdu_ref
;
}
/* Set up the HT phy flags */
if
(
rate_n_flags
&
RATE_MCS_HT_MSK
)
rx_status
.
flag
|=
RX_FLAG_HT
;
...
...
drivers/net/wireless/iwlwifi/iwl-devtrace.h
View file @
03747377
...
...
@@ -29,6 +29,7 @@
#include <linux/tracepoint.h>
#include <linux/device.h>
#include "iwl-trans.h"
#if !defined(CONFIG_IWLWIFI_DEVICE_TRACING) || defined(__CHECKER__)
...
...
@@ -237,27 +238,34 @@ TRACE_EVENT(iwlwifi_dbg,
#define TRACE_SYSTEM iwlwifi
TRACE_EVENT
(
iwlwifi_dev_hcmd
,
TP_PROTO
(
const
struct
device
*
dev
,
u32
flags
,
const
void
*
hcmd0
,
size_t
len0
,
const
void
*
hcmd1
,
size_t
len1
,
const
void
*
hcmd2
,
size_t
len2
),
TP_ARGS
(
dev
,
flags
,
hcmd0
,
len0
,
hcmd1
,
len1
,
hcmd2
,
len2
),
TP_PROTO
(
const
struct
device
*
dev
,
struct
iwl_host_cmd
*
cmd
,
u16
total_size
,
const
void
*
hdr
,
size_t
hdr_len
),
TP_ARGS
(
dev
,
cmd
,
total_size
,
hdr
,
hdr_len
),
TP_STRUCT__entry
(
DEV_ENTRY
__dynamic_array
(
u8
,
hcmd0
,
len0
)
__dynamic_array
(
u8
,
hcmd1
,
len1
)
__dynamic_array
(
u8
,
hcmd2
,
len2
)
__dynamic_array
(
u8
,
hcmd
,
total_size
)
__field
(
u32
,
flags
)
),
TP_fast_assign
(
int
i
,
offset
=
hdr_len
;
DEV_ASSIGN
;
memcpy
(
__get_dynamic_array
(
hcmd0
),
hcmd0
,
len0
);
memcpy
(
__get_dynamic_array
(
hcmd1
),
hcmd1
,
len1
);
memcpy
(
__get_dynamic_array
(
hcmd2
),
hcmd2
,
len2
);
__entry
->
flags
=
flags
;
__entry
->
flags
=
cmd
->
flags
;
memcpy
(
__get_dynamic_array
(
hcmd
),
hdr
,
hdr_len
);
for
(
i
=
0
;
i
<
IWL_MAX_CMD_TFDS
;
i
++
)
{
if
(
!
cmd
->
len
[
i
])
continue
;
if
(
!
(
cmd
->
dataflags
[
i
]
&
IWL_HCMD_DFL_NOCOPY
))
continue
;
memcpy
((
u8
*
)
__get_dynamic_array
(
hcmd
)
+
offset
,
cmd
->
data
[
i
],
cmd
->
len
[
i
]);
offset
+=
cmd
->
len
[
i
];
}
),
TP_printk
(
"[%s] hcmd %#.2x (%ssync)"
,
__get_str
(
dev
),
((
u8
*
)
__get_dynamic_array
(
hcmd
0
))[
0
],
__get_str
(
dev
),
((
u8
*
)
__get_dynamic_array
(
hcmd
))[
0
],
__entry
->
flags
&
CMD_ASYNC
?
"a"
:
""
)
);
...
...
drivers/net/wireless/iwlwifi/iwl-eeprom-parse.h
View file @
03747377
...
...
@@ -85,8 +85,6 @@ struct iwl_eeprom_data {
int
n_hw_addrs
;
u8
hw_addr
[
ETH_ALEN
];
u16
radio_config
;
u8
calib_version
;
__le16
calib_voltage
;
...
...
drivers/net/wireless/iwlwifi/pcie/tx.c
View file @
03747377
...
...
@@ -522,11 +522,6 @@ static int iwl_enqueue_hcmd(struct iwl_trans *trans, struct iwl_host_cmd *cmd)
bool
had_nocopy
=
false
;
int
i
;
u32
cmd_pos
;
#ifdef CONFIG_IWLWIFI_DEVICE_TRACING
const
void
*
trace_bufs
[
IWL_MAX_CMD_TFDS
+
1
]
=
{};
int
trace_lens
[
IWL_MAX_CMD_TFDS
+
1
]
=
{};
int
trace_idx
;
#endif
copy_size
=
sizeof
(
out_cmd
->
hdr
);
cmd_size
=
sizeof
(
out_cmd
->
hdr
);
...
...
@@ -628,11 +623,6 @@ static int iwl_enqueue_hcmd(struct iwl_trans *trans, struct iwl_host_cmd *cmd)
dma_unmap_len_set
(
out_meta
,
len
,
copy_size
);
iwlagn_txq_attach_buf_to_tfd
(
trans
,
txq
,
phys_addr
,
copy_size
,
1
);
#ifdef CONFIG_IWLWIFI_DEVICE_TRACING
trace_bufs
[
0
]
=
&
out_cmd
->
hdr
;
trace_lens
[
0
]
=
copy_size
;
trace_idx
=
1
;
#endif
for
(
i
=
0
;
i
<
IWL_MAX_CMD_TFDS
;
i
++
)
{
if
(
!
cmd
->
len
[
i
])
...
...
@@ -651,25 +641,14 @@ static int iwl_enqueue_hcmd(struct iwl_trans *trans, struct iwl_host_cmd *cmd)
iwlagn_txq_attach_buf_to_tfd
(
trans
,
txq
,
phys_addr
,
cmd
->
len
[
i
],
0
);
#ifdef CONFIG_IWLWIFI_DEVICE_TRACING
trace_bufs
[
trace_idx
]
=
cmd
->
data
[
i
];
trace_lens
[
trace_idx
]
=
cmd
->
len
[
i
];
trace_idx
++
;
#endif
}
out_meta
->
flags
=
cmd
->
flags
;
txq
->
need_update
=
1
;
/* check that tracing gets all possible blocks */
BUILD_BUG_ON
(
IWL_MAX_CMD_TFDS
+
1
!=
3
);
#ifdef CONFIG_IWLWIFI_DEVICE_TRACING
trace_iwlwifi_dev_hcmd
(
trans
->
dev
,
cmd
->
flags
,
trace_bufs
[
0
],
trace_lens
[
0
],
trace_bufs
[
1
],
trace_lens
[
1
],
trace_bufs
[
2
],
trace_lens
[
2
]);
#endif
trace_iwlwifi_dev_hcmd
(
trans
->
dev
,
cmd
,
cmd_size
,
&
out_cmd
->
hdr
,
copy_size
);
/* start timer if queue currently empty */
if
(
q
->
read_ptr
==
q
->
write_ptr
&&
trans_pcie
->
wd_timeout
)
...
...
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