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
8e8ddb2b
Commit
8e8ddb2b
authored
Oct 05, 2011
by
Kalle Valo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ath6kl: move htc_hif to hif.c
Signed-off-by:
Kalle Valo
<
kvalo@qca.qualcomm.com
>
parent
b4be8959
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
54 additions
and
53 deletions
+54
-53
drivers/net/wireless/ath/ath6kl/Makefile
drivers/net/wireless/ath/ath6kl/Makefile
+1
-1
drivers/net/wireless/ath/ath6kl/hif.c
drivers/net/wireless/ath/ath6kl/hif.c
+30
-29
drivers/net/wireless/ath/ath6kl/htc.c
drivers/net/wireless/ath/ath6kl/htc.c
+10
-10
drivers/net/wireless/ath/ath6kl/htc_hif.h
drivers/net/wireless/ath/ath6kl/htc_hif.h
+11
-11
drivers/net/wireless/ath/ath6kl/sdio.c
drivers/net/wireless/ath/ath6kl/sdio.c
+2
-2
No files found.
drivers/net/wireless/ath/ath6kl/Makefile
View file @
8e8ddb2b
...
...
@@ -23,7 +23,7 @@
obj-$(CONFIG_ATH6KL)
:=
ath6kl.o
ath6kl-y
+=
debug.o
ath6kl-y
+=
h
tc_h
if.o
ath6kl-y
+=
hif.o
ath6kl-y
+=
htc.o
ath6kl-y
+=
bmi.o
ath6kl-y
+=
cfg80211.o
...
...
drivers/net/wireless/ath/ath6kl/h
tc_h
if.c
→
drivers/net/wireless/ath/ath6kl/hif.c
View file @
8e8ddb2b
...
...
@@ -24,7 +24,8 @@
#define ATH6KL_TIME_QUANTUM 10
/* in ms */
static
int
ath6kldev_cp_scat_dma_buf
(
struct
hif_scatter_req
*
req
,
bool
from_dma
)
static
int
ath6kl_hif_cp_scat_dma_buf
(
struct
hif_scatter_req
*
req
,
bool
from_dma
)
{
u8
*
buf
;
int
i
;
...
...
@@ -46,12 +47,12 @@ static int ath6kldev_cp_scat_dma_buf(struct hif_scatter_req *req, bool from_dma)
return
0
;
}
int
ath6kl
dev
_rw_comp_handler
(
void
*
context
,
int
status
)
int
ath6kl
_hif
_rw_comp_handler
(
void
*
context
,
int
status
)
{
struct
htc_packet
*
packet
=
context
;
ath6kl_dbg
(
ATH6KL_DBG_HTC_RECV
,
"ath6kl
dev
_rw_comp_handler (pkt:0x%p , status: %d
\n
"
,
"ath6kl
_hif
_rw_comp_handler (pkt:0x%p , status: %d
\n
"
,
packet
,
status
);
packet
->
status
=
status
;
...
...
@@ -60,7 +61,7 @@ int ath6kldev_rw_comp_handler(void *context, int status)
return
0
;
}
static
int
ath6kl
dev
_proc_dbg_intr
(
struct
ath6kl_device
*
dev
)
static
int
ath6kl
_hif
_proc_dbg_intr
(
struct
ath6kl_device
*
dev
)
{
u32
dummy
;
int
status
;
...
...
@@ -82,7 +83,7 @@ static int ath6kldev_proc_dbg_intr(struct ath6kl_device *dev)
}
/* mailbox recv message polling */
int
ath6kl
dev
_poll_mboxmsg_rx
(
struct
ath6kl_device
*
dev
,
u32
*
lk_ahd
,
int
ath6kl
_hif
_poll_mboxmsg_rx
(
struct
ath6kl_device
*
dev
,
u32
*
lk_ahd
,
int
timeout
)
{
struct
ath6kl_irq_proc_registers
*
rg
;
...
...
@@ -131,7 +132,7 @@ int ath6kldev_poll_mboxmsg_rx(struct ath6kl_device *dev, u32 *lk_ahd,
* Target failure handler will be called in case of
* an assert.
*/
ath6kl
dev
_proc_dbg_intr
(
dev
);
ath6kl
_hif
_proc_dbg_intr
(
dev
);
}
return
status
;
...
...
@@ -141,7 +142,7 @@ int ath6kldev_poll_mboxmsg_rx(struct ath6kl_device *dev, u32 *lk_ahd,
* Disable packet reception (used in case the host runs out of buffers)
* using the interrupt enable registers through the host I/F
*/
int
ath6kl
dev
_rx_control
(
struct
ath6kl_device
*
dev
,
bool
enable_rx
)
int
ath6kl
_hif
_rx_control
(
struct
ath6kl_device
*
dev
,
bool
enable_rx
)
{
struct
ath6kl_irq_enable_reg
regs
;
int
status
=
0
;
...
...
@@ -168,7 +169,7 @@ int ath6kldev_rx_control(struct ath6kl_device *dev, bool enable_rx)
return
status
;
}
int
ath6kl
dev
_submit_scat_req
(
struct
ath6kl_device
*
dev
,
int
ath6kl
_hif
_submit_scat_req
(
struct
ath6kl_device
*
dev
,
struct
hif_scatter_req
*
scat_req
,
bool
read
)
{
int
status
=
0
;
...
...
@@ -186,13 +187,13 @@ int ath6kldev_submit_scat_req(struct ath6kl_device *dev,
}
ath6kl_dbg
((
ATH6KL_DBG_HTC_RECV
|
ATH6KL_DBG_HTC_SEND
),
"ath6kl
dev
_submit_scat_req, entries: %d, total len: %d mbox:0x%X (mode: %s : %s)
\n
"
,
"ath6kl
_hif
_submit_scat_req, entries: %d, total len: %d mbox:0x%X (mode: %s : %s)
\n
"
,
scat_req
->
scat_entries
,
scat_req
->
len
,
scat_req
->
addr
,
!
read
?
"async"
:
"sync"
,
(
read
)
?
"rd"
:
"wr"
);
if
(
!
read
&&
scat_req
->
virt_scat
)
{
status
=
ath6kl
dev
_cp_scat_dma_buf
(
scat_req
,
false
);
status
=
ath6kl
_hif
_cp_scat_dma_buf
(
scat_req
,
false
);
if
(
status
)
{
scat_req
->
status
=
status
;
scat_req
->
complete
(
dev
->
ar
->
htc_target
,
scat_req
);
...
...
@@ -207,13 +208,13 @@ int ath6kldev_submit_scat_req(struct ath6kl_device *dev,
scat_req
->
status
=
status
;
if
(
!
status
&&
scat_req
->
virt_scat
)
scat_req
->
status
=
ath6kl
dev
_cp_scat_dma_buf
(
scat_req
,
true
);
ath6kl
_hif
_cp_scat_dma_buf
(
scat_req
,
true
);
}
return
status
;
}
static
int
ath6kl
dev
_proc_counter_intr
(
struct
ath6kl_device
*
dev
)
static
int
ath6kl
_hif
_proc_counter_intr
(
struct
ath6kl_device
*
dev
)
{
u8
counter_int_status
;
...
...
@@ -232,12 +233,12 @@ static int ath6kldev_proc_counter_intr(struct ath6kl_device *dev)
* the debug assertion counter interrupt.
*/
if
(
counter_int_status
&
ATH6KL_TARGET_DEBUG_INTR_MASK
)
return
ath6kl
dev
_proc_dbg_intr
(
dev
);
return
ath6kl
_hif
_proc_dbg_intr
(
dev
);
return
0
;
}
static
int
ath6kl
dev
_proc_err_intr
(
struct
ath6kl_device
*
dev
)
static
int
ath6kl
_hif
_proc_err_intr
(
struct
ath6kl_device
*
dev
)
{
int
status
;
u8
error_int_status
;
...
...
@@ -282,7 +283,7 @@ static int ath6kldev_proc_err_intr(struct ath6kl_device *dev)
return
status
;
}
static
int
ath6kl
dev
_proc_cpu_intr
(
struct
ath6kl_device
*
dev
)
static
int
ath6kl
_hif
_proc_cpu_intr
(
struct
ath6kl_device
*
dev
)
{
int
status
;
u8
cpu_int_status
;
...
...
@@ -436,21 +437,21 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done)
if
(
MS
(
HOST_INT_STATUS_CPU
,
host_int_status
))
{
/* CPU Interrupt */
status
=
ath6kl
dev
_proc_cpu_intr
(
dev
);
status
=
ath6kl
_hif
_proc_cpu_intr
(
dev
);
if
(
status
)
goto
out
;
}
if
(
MS
(
HOST_INT_STATUS_ERROR
,
host_int_status
))
{
/* Error Interrupt */
status
=
ath6kl
dev
_proc_err_intr
(
dev
);
status
=
ath6kl
_hif
_proc_err_intr
(
dev
);
if
(
status
)
goto
out
;
}
if
(
MS
(
HOST_INT_STATUS_COUNTER
,
host_int_status
))
/* Counter Interrupt */
status
=
ath6kl
dev
_proc_counter_intr
(
dev
);
status
=
ath6kl
_hif
_proc_counter_intr
(
dev
);
out:
/*
...
...
@@ -479,7 +480,7 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done)
}
/* interrupt handler, kicks off all interrupt processing */
int
ath6kl
dev
_intr_bh_handler
(
struct
ath6kl
*
ar
)
int
ath6kl
_hif
_intr_bh_handler
(
struct
ath6kl
*
ar
)
{
struct
ath6kl_device
*
dev
=
ar
->
htc_target
->
dev
;
int
status
=
0
;
...
...
@@ -504,7 +505,7 @@ int ath6kldev_intr_bh_handler(struct ath6kl *ar)
return
status
;
}
static
int
ath6kl
dev
_enable_intrs
(
struct
ath6kl_device
*
dev
)
static
int
ath6kl
_hif
_enable_intrs
(
struct
ath6kl_device
*
dev
)
{
struct
ath6kl_irq_enable_reg
regs
;
int
status
;
...
...
@@ -552,7 +553,7 @@ static int ath6kldev_enable_intrs(struct ath6kl_device *dev)
return
status
;
}
int
ath6kl
dev
_disable_intrs
(
struct
ath6kl_device
*
dev
)
int
ath6kl
_hif
_disable_intrs
(
struct
ath6kl_device
*
dev
)
{
struct
ath6kl_irq_enable_reg
regs
;
...
...
@@ -571,7 +572,7 @@ int ath6kldev_disable_intrs(struct ath6kl_device *dev)
}
/* enable device interrupts */
int
ath6kl
dev
_unmask_intrs
(
struct
ath6kl_device
*
dev
)
int
ath6kl
_hif
_unmask_intrs
(
struct
ath6kl_device
*
dev
)
{
int
status
=
0
;
...
...
@@ -583,29 +584,29 @@ int ath6kldev_unmask_intrs(struct ath6kl_device *dev)
* target "soft" resets. The ATH6KL interrupt enables reset back to an
* "enabled" state when this happens.
*/
ath6kl
dev
_disable_intrs
(
dev
);
ath6kl
_hif
_disable_intrs
(
dev
);
/* unmask the host controller interrupts */
ath6kl_hif_irq_enable
(
dev
->
ar
);
status
=
ath6kl
dev
_enable_intrs
(
dev
);
status
=
ath6kl
_hif
_enable_intrs
(
dev
);
return
status
;
}
/* disable all device interrupts */
int
ath6kl
dev
_mask_intrs
(
struct
ath6kl_device
*
dev
)
int
ath6kl
_hif
_mask_intrs
(
struct
ath6kl_device
*
dev
)
{
/*
* Mask the interrupt at the HIF layer to avoid any stray interrupt
* taken while we zero out our shadow registers in
* ath6kl
dev
_disable_intrs().
* ath6kl
_hif
_disable_intrs().
*/
ath6kl_hif_irq_disable
(
dev
->
ar
);
return
ath6kl
dev
_disable_intrs
(
dev
);
return
ath6kl
_hif
_disable_intrs
(
dev
);
}
int
ath6kl
dev
_setup
(
struct
ath6kl_device
*
dev
)
int
ath6kl
_hif
_setup
(
struct
ath6kl_device
*
dev
)
{
int
status
=
0
;
...
...
@@ -634,7 +635,7 @@ int ath6kldev_setup(struct ath6kl_device *dev)
ath6kl_dbg
(
ATH6KL_DBG_TRC
,
"hif interrupt processing is sync only
\n
"
);
status
=
ath6kl
dev
_disable_intrs
(
dev
);
status
=
ath6kl
_hif
_disable_intrs
(
dev
);
fail_setup:
return
status
;
...
...
drivers/net/wireless/ath/ath6kl/htc.c
View file @
8e8ddb2b
...
...
@@ -482,7 +482,7 @@ static void ath6kl_htc_tx_bundle(struct htc_endpoint *endpoint,
ath6kl_dbg
(
ATH6KL_DBG_HTC_SEND
,
"send scatter total bytes: %d , entries: %d
\n
"
,
scat_req
->
len
,
scat_req
->
scat_entries
);
ath6kl
dev
_submit_scat_req
(
target
->
dev
,
scat_req
,
false
);
ath6kl
_hif
_submit_scat_req
(
target
->
dev
,
scat_req
,
false
);
if
(
status
)
break
;
...
...
@@ -1620,7 +1620,7 @@ static int ath6kl_htc_rx_bundle(struct htc_target *target,
scat_req
->
len
=
len
;
scat_req
->
scat_entries
=
i
;
status
=
ath6kl
dev
_submit_scat_req
(
target
->
dev
,
scat_req
,
true
);
status
=
ath6kl
_hif
_submit_scat_req
(
target
->
dev
,
scat_req
,
true
);
if
(
!
status
)
*
n_pkt_fetched
=
i
;
...
...
@@ -1865,7 +1865,7 @@ int ath6kl_htc_rxmsg_pending_handler(struct htc_target *target,
if
(
target
->
htc_flags
&
HTC_OP_STATE_STOPPING
)
{
ath6kl_warn
(
"host is going to stop blocking receiver for htc_stop
\n
"
);
ath6kl
dev
_rx_control
(
target
->
dev
,
false
);
ath6kl
_hif
_rx_control
(
target
->
dev
,
false
);
}
}
...
...
@@ -1875,7 +1875,7 @@ int ath6kl_htc_rxmsg_pending_handler(struct htc_target *target,
*/
if
(
target
->
rx_st_flags
&
HTC_RECV_WAIT_BUFFERS
)
{
ath6kl_warn
(
"host has no rx buffers blocking receiver to prevent overrun
\n
"
);
ath6kl
dev
_rx_control
(
target
->
dev
,
false
);
ath6kl
_hif
_rx_control
(
target
->
dev
,
false
);
}
*
num_pkts
=
n_fetched
;
...
...
@@ -1893,7 +1893,7 @@ static struct htc_packet *htc_wait_for_ctrl_msg(struct htc_target *target)
struct
htc_frame_hdr
*
htc_hdr
;
u32
look_ahead
;
if
(
ath6kl
dev
_poll_mboxmsg_rx
(
target
->
dev
,
&
look_ahead
,
if
(
ath6kl
_hif
_poll_mboxmsg_rx
(
target
->
dev
,
&
look_ahead
,
HTC_TARGET_RESPONSE_TIMEOUT
))
return
NULL
;
...
...
@@ -2001,7 +2001,7 @@ int ath6kl_htc_add_rxbuf_multiple(struct htc_target *target,
if
(
rx_unblock
&&
!
(
target
->
htc_flags
&
HTC_OP_STATE_STOPPING
))
/* TODO : implement a buffer threshold count? */
ath6kl
dev
_rx_control
(
target
->
dev
,
true
);
ath6kl
_hif
_rx_control
(
target
->
dev
,
true
);
return
status
;
}
...
...
@@ -2340,7 +2340,7 @@ int ath6kl_htc_start(struct htc_target *target)
int
status
;
/* Disable interrupts at the chip level */
ath6kl
dev
_disable_intrs
(
target
->
dev
);
ath6kl
_hif
_disable_intrs
(
target
->
dev
);
target
->
htc_flags
=
0
;
target
->
rx_st_flags
=
0
;
...
...
@@ -2365,7 +2365,7 @@ int ath6kl_htc_start(struct htc_target *target)
return
status
;
/* unmask interrupts */
status
=
ath6kl
dev
_unmask_intrs
(
target
->
dev
);
status
=
ath6kl
_hif
_unmask_intrs
(
target
->
dev
);
if
(
status
)
ath6kl_htc_stop
(
target
);
...
...
@@ -2385,7 +2385,7 @@ void ath6kl_htc_stop(struct htc_target *target)
* function returns all pending HIF I/O has completed, we can
* safely flush the queues.
*/
ath6kl
dev
_mask_intrs
(
target
->
dev
);
ath6kl
_hif
_mask_intrs
(
target
->
dev
);
ath6kl_htc_flush_txep_all
(
target
);
...
...
@@ -2428,7 +2428,7 @@ void *ath6kl_htc_create(struct ath6kl *ar)
reset_ep_state
(
target
);
status
=
ath6kl
dev
_setup
(
target
->
dev
);
status
=
ath6kl
_hif
_setup
(
target
->
dev
);
if
(
status
)
goto
fail_create_htc
;
...
...
drivers/net/wireless/ath/ath6kl/htc_hif.h
View file @
8e8ddb2b
...
...
@@ -74,19 +74,19 @@ struct ath6kl_device {
struct
ath6kl
*
ar
;
};
int
ath6kl
dev
_setup
(
struct
ath6kl_device
*
dev
);
int
ath6kl
dev
_unmask_intrs
(
struct
ath6kl_device
*
dev
);
int
ath6kl
dev
_mask_intrs
(
struct
ath6kl_device
*
dev
);
int
ath6kl
dev
_poll_mboxmsg_rx
(
struct
ath6kl_device
*
dev
,
u32
*
lk_ahd
,
int
timeout
);
int
ath6kl
dev
_rx_control
(
struct
ath6kl_device
*
dev
,
bool
enable_rx
);
int
ath6kl
dev
_disable_intrs
(
struct
ath6kl_device
*
dev
);
int
ath6kl
_hif
_setup
(
struct
ath6kl_device
*
dev
);
int
ath6kl
_hif
_unmask_intrs
(
struct
ath6kl_device
*
dev
);
int
ath6kl
_hif
_mask_intrs
(
struct
ath6kl_device
*
dev
);
int
ath6kl
_hif
_poll_mboxmsg_rx
(
struct
ath6kl_device
*
dev
,
u32
*
lk_ahd
,
int
timeout
);
int
ath6kl
_hif
_rx_control
(
struct
ath6kl_device
*
dev
,
bool
enable_rx
);
int
ath6kl
_hif
_disable_intrs
(
struct
ath6kl_device
*
dev
);
int
ath6kl
dev
_rw_comp_handler
(
void
*
context
,
int
status
);
int
ath6kl
dev
_intr_bh_handler
(
struct
ath6kl
*
ar
);
int
ath6kl
_hif
_rw_comp_handler
(
void
*
context
,
int
status
);
int
ath6kl
_hif
_intr_bh_handler
(
struct
ath6kl
*
ar
);
/* Scatter Function and Definitions */
int
ath6kl
dev
_submit_scat_req
(
struct
ath6kl_device
*
dev
,
struct
hif_scatter_req
*
scat_req
,
bool
read
);
int
ath6kl
_hif
_submit_scat_req
(
struct
ath6kl_device
*
dev
,
struct
hif_scatter_req
*
scat_req
,
bool
read
);
#endif
/*ATH6KL_H_ */
drivers/net/wireless/ath/ath6kl/sdio.c
View file @
8e8ddb2b
...
...
@@ -420,7 +420,7 @@ static void __ath6kl_sdio_write_async(struct ath6kl_sdio *ar_sdio,
req
->
request
);
context
=
req
->
packet
;
ath6kl_sdio_free_bus_req
(
ar_sdio
,
req
);
ath6kl
dev
_rw_comp_handler
(
context
,
status
);
ath6kl
_hif
_rw_comp_handler
(
context
,
status
);
}
}
...
...
@@ -457,7 +457,7 @@ static void ath6kl_sdio_irq_handler(struct sdio_func *func)
*/
sdio_release_host
(
ar_sdio
->
func
);
status
=
ath6kl
dev
_intr_bh_handler
(
ar_sdio
->
ar
);
status
=
ath6kl
_hif
_intr_bh_handler
(
ar_sdio
->
ar
);
sdio_claim_host
(
ar_sdio
->
func
);
atomic_set
(
&
ar_sdio
->
irq_handling
,
0
);
WARN_ON
(
status
&&
status
!=
-
ECANCELED
);
...
...
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