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
20adc1ae
Commit
20adc1ae
authored
Aug 10, 2011
by
John W. Linville
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-linville' of
git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath6kl
parents
392e7419
ad226ec2
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
74 additions
and
70 deletions
+74
-70
drivers/net/wireless/ath/ath6kl/htc.c
drivers/net/wireless/ath/ath6kl/htc.c
+31
-30
drivers/net/wireless/ath/ath6kl/htc.h
drivers/net/wireless/ath/ath6kl/htc.h
+24
-21
drivers/net/wireless/ath/ath6kl/htc_hif.c
drivers/net/wireless/ath/ath6kl/htc_hif.c
+2
-2
drivers/net/wireless/ath/ath6kl/init.c
drivers/net/wireless/ath/ath6kl/init.c
+8
-8
drivers/net/wireless/ath/ath6kl/main.c
drivers/net/wireless/ath/ath6kl/main.c
+2
-2
drivers/net/wireless/ath/ath6kl/txrx.c
drivers/net/wireless/ath/ath6kl/txrx.c
+7
-7
No files found.
drivers/net/wireless/ath/ath6kl/htc.c
View file @
20adc1ae
...
...
@@ -689,9 +689,9 @@ static int htc_setup_tx_complete(struct htc_target *target)
return
status
;
}
void
htc_set_credit_dist
(
struct
htc_target
*
target
,
struct
htc_credit_state_info
*
cred_dist_cntxt
,
u16
srvc_pri_order
[],
int
list_len
)
void
ath6kl_
htc_set_credit_dist
(
struct
htc_target
*
target
,
struct
htc_credit_state_info
*
cred_dist_cntxt
,
u16
srvc_pri_order
[],
int
list_len
)
{
struct
htc_endpoint
*
endpoint
;
int
i
,
ep
;
...
...
@@ -717,7 +717,7 @@ void htc_set_credit_dist(struct htc_target *target,
}
}
int
htc_tx
(
struct
htc_target
*
target
,
struct
htc_packet
*
packet
)
int
ath6kl_
htc_tx
(
struct
htc_target
*
target
,
struct
htc_packet
*
packet
)
{
struct
htc_endpoint
*
endpoint
;
struct
list_head
queue
;
...
...
@@ -745,8 +745,8 @@ int htc_tx(struct htc_target *target, struct htc_packet *packet)
}
/* flush endpoint TX queue */
void
htc_flush_txep
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
eid
,
u16
tag
)
void
ath6kl_
htc_flush_txep
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
eid
,
u16
tag
)
{
struct
htc_packet
*
packet
,
*
tmp_pkt
;
struct
list_head
discard_q
,
container
;
...
...
@@ -785,7 +785,7 @@ void htc_flush_txep(struct htc_target *target,
}
static
void
htc_flush_txep_all
(
struct
htc_target
*
target
)
static
void
ath6kl_
htc_flush_txep_all
(
struct
htc_target
*
target
)
{
struct
htc_endpoint
*
endpoint
;
int
i
;
...
...
@@ -797,12 +797,12 @@ static void htc_flush_txep_all(struct htc_target *target)
if
(
endpoint
->
svc_id
==
0
)
/* not in use.. */
continue
;
htc_flush_txep
(
target
,
i
,
HTC_TX_PACKET_TAG_ALL
);
ath6kl_
htc_flush_txep
(
target
,
i
,
HTC_TX_PACKET_TAG_ALL
);
}
}
void
htc_indicate_activity_change
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
eid
,
bool
active
)
void
ath6kl_
htc_indicate_activity_change
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
eid
,
bool
active
)
{
struct
htc_endpoint
*
endpoint
=
&
target
->
endpoint
[
eid
];
bool
dist
=
false
;
...
...
@@ -869,7 +869,7 @@ static int htc_add_rxbuf(struct htc_target *target, struct htc_packet *packet)
INIT_LIST_HEAD
(
&
queue
);
list_add_tail
(
&
packet
->
list
,
&
queue
);
return
htc_add_rxbuf_multiple
(
target
,
&
queue
);
return
ath6kl_
htc_add_rxbuf_multiple
(
target
,
&
queue
);
}
static
void
htc_reclaim_rxbuf
(
struct
htc_target
*
target
,
...
...
@@ -1721,8 +1721,8 @@ static int htc_fetch_rxpkts(struct htc_target *target,
return
status
;
}
int
htc_rxmsg_pending_handler
(
struct
htc_target
*
target
,
u32
msg_look_ahead
[]
,
int
*
num_pkts
)
int
ath6kl_htc_rxmsg_pending_handler
(
struct
htc_target
*
target
,
u32
msg_look_ahead
[],
int
*
num_pkts
)
{
struct
htc_packet
*
packets
,
*
tmp_pkt
;
struct
htc_endpoint
*
endpoint
;
...
...
@@ -1904,8 +1904,8 @@ static struct htc_packet *htc_wait_for_ctrl_msg(struct htc_target *target)
return
NULL
;
}
int
htc_add_rxbuf_multiple
(
struct
htc_target
*
target
,
struct
list_head
*
pkt_queue
)
int
ath6kl_
htc_add_rxbuf_multiple
(
struct
htc_target
*
target
,
struct
list_head
*
pkt_queue
)
{
struct
htc_endpoint
*
endpoint
;
struct
htc_packet
*
first_pkt
;
...
...
@@ -1966,7 +1966,7 @@ int htc_add_rxbuf_multiple(struct htc_target *target,
return
status
;
}
void
htc_flush_rx_buf
(
struct
htc_target
*
target
)
void
ath6kl_
htc_flush_rx_buf
(
struct
htc_target
*
target
)
{
struct
htc_endpoint
*
endpoint
;
struct
htc_packet
*
packet
,
*
tmp_pkt
;
...
...
@@ -1994,9 +1994,9 @@ void htc_flush_rx_buf(struct htc_target *target)
}
}
int
htc_conn_service
(
struct
htc_target
*
target
,
struct
htc_service_connect_req
*
conn_req
,
struct
htc_service_connect_resp
*
conn_resp
)
int
ath6kl_
htc_conn_service
(
struct
htc_target
*
target
,
struct
htc_service_connect_req
*
conn_req
,
struct
htc_service_connect_resp
*
conn_resp
)
{
struct
htc_packet
*
rx_pkt
=
NULL
;
struct
htc_packet
*
tx_pkt
=
NULL
;
...
...
@@ -2154,7 +2154,8 @@ static void reset_ep_state(struct htc_target *target)
INIT_LIST_HEAD
(
&
target
->
cred_dist_list
);
}
int
htc_get_rxbuf_num
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
endpoint
)
int
ath6kl_htc_get_rxbuf_num
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
endpoint
)
{
int
num
;
...
...
@@ -2212,7 +2213,7 @@ static void htc_setup_msg_bndl(struct htc_target *target)
}
}
int
htc_wait_target
(
struct
htc_target
*
target
)
int
ath6kl_
htc_wait_target
(
struct
htc_target
*
target
)
{
struct
htc_packet
*
packet
=
NULL
;
struct
htc_ready_ext_msg
*
rdy_msg
;
...
...
@@ -2275,7 +2276,7 @@ int htc_wait_target(struct htc_target *target)
connect
.
svc_id
=
HTC_CTRL_RSVD_SVC
;
/* connect fake service */
status
=
htc_conn_service
((
void
*
)
target
,
&
connect
,
&
resp
);
status
=
ath6kl_
htc_conn_service
((
void
*
)
target
,
&
connect
,
&
resp
);
if
(
status
)
ath6kl_hif_cleanup_scatter
(
target
->
dev
->
ar
);
...
...
@@ -2293,7 +2294,7 @@ int htc_wait_target(struct htc_target *target)
* Start HTC, enable interrupts and let the target know
* host has finished setup.
*/
int
htc_start
(
struct
htc_target
*
target
)
int
ath6kl_
htc_start
(
struct
htc_target
*
target
)
{
struct
htc_packet
*
packet
;
int
status
;
...
...
@@ -2327,13 +2328,13 @@ int htc_start(struct htc_target *target)
status
=
ath6kldev_unmask_intrs
(
target
->
dev
);
if
(
status
)
htc_stop
(
target
);
ath6kl_
htc_stop
(
target
);
return
status
;
}
/* htc_stop: stop interrupt reception, and flush all queued buffers */
void
htc_stop
(
struct
htc_target
*
target
)
void
ath6kl_
htc_stop
(
struct
htc_target
*
target
)
{
spin_lock_bh
(
&
target
->
htc_lock
);
target
->
htc_flags
|=
HTC_OP_STATE_STOPPING
;
...
...
@@ -2346,14 +2347,14 @@ void htc_stop(struct htc_target *target)
*/
ath6kldev_mask_intrs
(
target
->
dev
);
htc_flush_txep_all
(
target
);
ath6kl_
htc_flush_txep_all
(
target
);
htc_flush_rx_buf
(
target
);
ath6kl_
htc_flush_rx_buf
(
target
);
reset_ep_state
(
target
);
}
void
*
htc_create
(
struct
ath6kl
*
ar
)
void
*
ath6kl_
htc_create
(
struct
ath6kl
*
ar
)
{
struct
htc_target
*
target
=
NULL
;
struct
htc_packet
*
packet
;
...
...
@@ -2422,7 +2423,7 @@ void *htc_create(struct ath6kl *ar)
fail_create_htc:
if
(
i
!=
NUM_CONTROL_BUFFERS
||
status
)
{
if
(
target
)
{
htc_cleanup
(
target
);
ath6kl_
htc_cleanup
(
target
);
target
=
NULL
;
}
}
...
...
@@ -2431,7 +2432,7 @@ void *htc_create(struct ath6kl *ar)
}
/* cleanup the HTC instance */
void
htc_cleanup
(
struct
htc_target
*
target
)
void
ath6kl_
htc_cleanup
(
struct
htc_target
*
target
)
{
struct
htc_packet
*
packet
,
*
tmp_packet
;
...
...
drivers/net/wireless/ath/ath6kl/htc.h
View file @
20adc1ae
...
...
@@ -540,27 +540,30 @@ struct htc_target {
int
chk_irq_status_cnt
;
};
void
*
htc_create
(
struct
ath6kl
*
ar
);
void
htc_set_credit_dist
(
struct
htc_target
*
target
,
struct
htc_credit_state_info
*
cred_info
,
u16
svc_pri_order
[],
int
len
);
int
htc_wait_target
(
struct
htc_target
*
target
);
int
htc_start
(
struct
htc_target
*
target
);
int
htc_conn_service
(
struct
htc_target
*
target
,
struct
htc_service_connect_req
*
req
,
struct
htc_service_connect_resp
*
resp
);
int
htc_tx
(
struct
htc_target
*
target
,
struct
htc_packet
*
packet
);
void
htc_stop
(
struct
htc_target
*
target
);
void
htc_cleanup
(
struct
htc_target
*
target
);
void
htc_flush_txep
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
endpoint
,
u16
tag
);
void
htc_flush_rx_buf
(
struct
htc_target
*
target
);
void
htc_indicate_activity_change
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
endpoint
,
bool
active
);
int
htc_get_rxbuf_num
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
endpoint
);
int
htc_add_rxbuf_multiple
(
struct
htc_target
*
target
,
struct
list_head
*
pktq
);
int
htc_rxmsg_pending_handler
(
struct
htc_target
*
target
,
u32
msg_look_ahead
[],
int
*
n_pkts
);
void
*
ath6kl_htc_create
(
struct
ath6kl
*
ar
);
void
ath6kl_htc_set_credit_dist
(
struct
htc_target
*
target
,
struct
htc_credit_state_info
*
cred_info
,
u16
svc_pri_order
[],
int
len
);
int
ath6kl_htc_wait_target
(
struct
htc_target
*
target
);
int
ath6kl_htc_start
(
struct
htc_target
*
target
);
int
ath6kl_htc_conn_service
(
struct
htc_target
*
target
,
struct
htc_service_connect_req
*
req
,
struct
htc_service_connect_resp
*
resp
);
int
ath6kl_htc_tx
(
struct
htc_target
*
target
,
struct
htc_packet
*
packet
);
void
ath6kl_htc_stop
(
struct
htc_target
*
target
);
void
ath6kl_htc_cleanup
(
struct
htc_target
*
target
);
void
ath6kl_htc_flush_txep
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
endpoint
,
u16
tag
);
void
ath6kl_htc_flush_rx_buf
(
struct
htc_target
*
target
);
void
ath6kl_htc_indicate_activity_change
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
endpoint
,
bool
active
);
int
ath6kl_htc_get_rxbuf_num
(
struct
htc_target
*
target
,
enum
htc_endpoint_id
endpoint
);
int
ath6kl_htc_add_rxbuf_multiple
(
struct
htc_target
*
target
,
struct
list_head
*
pktq
);
int
ath6kl_htc_rxmsg_pending_handler
(
struct
htc_target
*
target
,
u32
msg_look_ahead
[],
int
*
n_pkts
);
static
inline
void
set_htc_pkt_info
(
struct
htc_packet
*
packet
,
void
*
context
,
u8
*
buf
,
unsigned
int
len
,
...
...
drivers/net/wireless/ath/ath6kl/htc_hif.c
View file @
20adc1ae
...
...
@@ -416,8 +416,8 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done)
* improve performance by reducing context switching when
* we rapidly pull packets.
*/
status
=
htc_rxmsg_pending_handler
(
dev
->
htc_cnxt
,
&
lk_ahd
,
&
fetched
);
status
=
ath6kl_
htc_rxmsg_pending_handler
(
dev
->
htc_cnxt
,
&
lk_ahd
,
&
fetched
);
if
(
status
)
goto
out
;
...
...
drivers/net/wireless/ath/ath6kl/init.c
View file @
20adc1ae
...
...
@@ -160,7 +160,7 @@ static int ath6kl_connectservice(struct ath6kl *ar,
memset
(
&
response
,
0
,
sizeof
(
response
));
status
=
htc_conn_service
(
ar
->
htc_target
,
con_req
,
&
response
);
status
=
ath6kl_
htc_conn_service
(
ar
->
htc_target
,
con_req
,
&
response
);
if
(
status
)
{
ath6kl_err
(
"failed to connect to %s service status:%d
\n
"
,
desc
,
status
);
...
...
@@ -1069,7 +1069,7 @@ static int ath6kl_init(struct net_device *dev)
* driver layer has to init BMI in order to set the host block
* size.
*/
if
(
htc_wait_target
(
ar
->
htc_target
))
{
if
(
ath6kl_
htc_wait_target
(
ar
->
htc_target
))
{
status
=
-
EIO
;
goto
err_node_cleanup
;
}
...
...
@@ -1098,7 +1098,7 @@ static int ath6kl_init(struct net_device *dev)
ath6kl_cookie_init
(
ar
);
/* start HTC */
status
=
htc_start
(
ar
->
htc_target
);
status
=
ath6kl_
htc_start
(
ar
->
htc_target
);
if
(
status
)
{
ath6kl_cookie_cleanup
(
ar
);
...
...
@@ -1138,9 +1138,9 @@ static int ath6kl_init(struct net_device *dev)
goto
ath6kl_init_done
;
err_htc_stop:
htc_stop
(
ar
->
htc_target
);
ath6kl_
htc_stop
(
ar
->
htc_target
);
err_rxbuf_cleanup:
htc_flush_rx_buf
(
ar
->
htc_target
);
ath6kl_
htc_flush_rx_buf
(
ar
->
htc_target
);
ath6kl_cleanup_amsdu_rxbufs
(
ar
);
err_cleanup_scatter:
ath6kl_hif_cleanup_scatter
(
ar
);
...
...
@@ -1179,7 +1179,7 @@ int ath6kl_core_init(struct ath6kl *ar)
if
(
ret
)
goto
err_bmi_cleanup
;
ar
->
htc_target
=
htc_create
(
ar
);
ar
->
htc_target
=
ath6kl_
htc_create
(
ar
);
if
(
!
ar
->
htc_target
)
{
ret
=
-
ENOMEM
;
...
...
@@ -1217,7 +1217,7 @@ int ath6kl_core_init(struct ath6kl *ar)
return
ret
;
err_htc_cleanup:
htc_cleanup
(
ar
->
htc_target
);
ath6kl_
htc_cleanup
(
ar
->
htc_target
);
err_bmi_cleanup:
ath6kl_bmi_cleanup
(
ar
);
err_wq:
...
...
@@ -1275,7 +1275,7 @@ void ath6kl_destroy(struct net_device *dev, unsigned int unregister)
destroy_workqueue
(
ar
->
ath6kl_wq
);
if
(
ar
->
htc_target
)
htc_cleanup
(
ar
->
htc_target
);
ath6kl_
htc_cleanup
(
ar
->
htc_target
);
aggr_module_destroy
(
ar
->
aggr_cntxt
);
...
...
drivers/net/wireless/ath/ath6kl/main.c
View file @
20adc1ae
...
...
@@ -375,7 +375,7 @@ void ath6kl_stop_endpoint(struct net_device *dev, bool keep_profile,
if
(
ar
->
htc_target
)
{
ath6kl_dbg
(
ATH6KL_DBG_TRC
,
"%s: shut down htc
\n
"
,
__func__
);
htc_stop
(
ar
->
htc_target
);
ath6kl_
htc_stop
(
ar
->
htc_target
);
}
/*
...
...
@@ -568,7 +568,7 @@ int ath6k_setup_credit_dist(void *htc_handle,
servicepriority
[
4
]
=
WMI_DATA_BK_SVC
;
/* lowest */
/* set priority list */
htc_set_credit_dist
(
htc_handle
,
cred_info
,
servicepriority
,
5
);
ath6kl_
htc_set_credit_dist
(
htc_handle
,
cred_info
,
servicepriority
,
5
);
return
0
;
}
...
...
drivers/net/wireless/ath/ath6kl/txrx.c
View file @
20adc1ae
...
...
@@ -221,7 +221,7 @@ int ath6kl_control_tx(void *devt, struct sk_buff *skb,
* This interface is asynchronous, if there is an error, cleanup
* will happen in the TX completion callback.
*/
htc_tx
(
ar
->
htc_target
,
&
cookie
->
htc_pkt
);
ath6kl_
htc_tx
(
ar
->
htc_target
,
&
cookie
->
htc_pkt
);
return
0
;
...
...
@@ -331,7 +331,7 @@ int ath6kl_data_tx(struct sk_buff *skb, struct net_device *dev)
* HTC interface is asynchronous, if this fails, cleanup will
* happen in the ath6kl_tx_complete callback.
*/
htc_tx
(
ar
->
htc_target
,
&
cookie
->
htc_pkt
);
ath6kl_
htc_tx
(
ar
->
htc_target
,
&
cookie
->
htc_pkt
);
return
0
;
...
...
@@ -403,7 +403,7 @@ void ath6kl_indicate_tx_activity(void *devt, u8 traffic_class, bool active)
notify_htc:
/* notify HTC, this may cause credit distribution changes */
htc_indicate_activity_change
(
ar
->
htc_target
,
eid
,
active
);
ath6kl_
htc_indicate_activity_change
(
ar
->
htc_target
,
eid
,
active
);
}
enum
htc_send_full_action
ath6kl_tx_queue_full
(
struct
htc_target
*
target
,
...
...
@@ -611,8 +611,8 @@ void ath6kl_tx_data_cleanup(struct ath6kl *ar)
/* flush all the data (non-control) streams */
for
(
i
=
0
;
i
<
WMM_NUM_AC
;
i
++
)
htc_flush_txep
(
ar
->
htc_target
,
ar
->
ac2ep_map
[
i
],
ATH6KL_DATA_PKT_TAG
);
ath6kl_
htc_flush_txep
(
ar
->
htc_target
,
ar
->
ac2ep_map
[
i
],
ATH6KL_DATA_PKT_TAG
);
}
/* Rx functions */
...
...
@@ -672,7 +672,7 @@ void ath6kl_rx_refill(struct htc_target *target, enum htc_endpoint_id endpoint)
struct
list_head
queue
;
n_buf_refill
=
ATH6KL_MAX_RX_BUFFERS
-
htc_get_rxbuf_num
(
ar
->
htc_target
,
endpoint
);
ath6kl_
htc_get_rxbuf_num
(
ar
->
htc_target
,
endpoint
);
if
(
n_buf_refill
<=
0
)
return
;
...
...
@@ -695,7 +695,7 @@ void ath6kl_rx_refill(struct htc_target *target, enum htc_endpoint_id endpoint)
}
if
(
!
list_empty
(
&
queue
))
htc_add_rxbuf_multiple
(
ar
->
htc_target
,
&
queue
);
ath6kl_
htc_add_rxbuf_multiple
(
ar
->
htc_target
,
&
queue
);
}
void
ath6kl_refill_amsdu_rxbufs
(
struct
ath6kl
*
ar
,
int
count
)
...
...
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