diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/debug.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/hif-ops.h | 18 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/hif.c | 17 |
3 files changed, 27 insertions, 10 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/debug.h b/drivers/net/wireless/ath/ath6kl/debug.h index 01f4015071ec..cbabc25699ec 100644 --- a/drivers/net/wireless/ath/ath6kl/debug.h +++ b/drivers/net/wireless/ath/ath6kl/debug.h | |||
@@ -26,7 +26,7 @@ enum ATH6K_DEBUG_MASK { | |||
26 | ATH6KL_DBG_WLAN_RX = BIT(3), /* wlan rx */ | 26 | ATH6KL_DBG_WLAN_RX = BIT(3), /* wlan rx */ |
27 | ATH6KL_DBG_BMI = BIT(4), /* bmi tracing */ | 27 | ATH6KL_DBG_BMI = BIT(4), /* bmi tracing */ |
28 | ATH6KL_DBG_HTC = BIT(5), | 28 | ATH6KL_DBG_HTC = BIT(5), |
29 | /* hole */ | 29 | ATH6KL_DBG_HIF = BIT(6), |
30 | ATH6KL_DBG_IRQ = BIT(7), /* interrupt processing */ | 30 | ATH6KL_DBG_IRQ = BIT(7), /* interrupt processing */ |
31 | ATH6KL_DBG_PM = BIT(8), /* power management */ | 31 | ATH6KL_DBG_PM = BIT(8), /* power management */ |
32 | ATH6KL_DBG_WLAN_NODE = BIT(9), /* general wlan node tracing */ | 32 | ATH6KL_DBG_WLAN_NODE = BIT(9), /* general wlan node tracing */ |
diff --git a/drivers/net/wireless/ath/ath6kl/hif-ops.h b/drivers/net/wireless/ath/ath6kl/hif-ops.h index 21b1575dd9f3..95e73030a2c6 100644 --- a/drivers/net/wireless/ath/ath6kl/hif-ops.h +++ b/drivers/net/wireless/ath/ath6kl/hif-ops.h | |||
@@ -18,10 +18,16 @@ | |||
18 | #define HIF_OPS_H | 18 | #define HIF_OPS_H |
19 | 19 | ||
20 | #include "hif.h" | 20 | #include "hif.h" |
21 | #include "debug.h" | ||
21 | 22 | ||
22 | static inline int hif_read_write_sync(struct ath6kl *ar, u32 addr, u8 *buf, | 23 | static inline int hif_read_write_sync(struct ath6kl *ar, u32 addr, u8 *buf, |
23 | u32 len, u32 request) | 24 | u32 len, u32 request) |
24 | { | 25 | { |
26 | ath6kl_dbg(ATH6KL_DBG_HIF, | ||
27 | "hif %s sync addr 0x%x buf 0x%p len %d request 0x%x\n", | ||
28 | (request & HIF_WRITE) ? "write" : "read", | ||
29 | addr, buf, len, request); | ||
30 | |||
25 | return ar->hif_ops->read_write_sync(ar, addr, buf, len, request); | 31 | return ar->hif_ops->read_write_sync(ar, addr, buf, len, request); |
26 | } | 32 | } |
27 | 33 | ||
@@ -29,16 +35,24 @@ static inline int hif_write_async(struct ath6kl *ar, u32 address, u8 *buffer, | |||
29 | u32 length, u32 request, | 35 | u32 length, u32 request, |
30 | struct htc_packet *packet) | 36 | struct htc_packet *packet) |
31 | { | 37 | { |
38 | ath6kl_dbg(ATH6KL_DBG_HIF, | ||
39 | "hif write async addr 0x%x buf 0x%p len %d request 0x%x\n", | ||
40 | address, buffer, length, request); | ||
41 | |||
32 | return ar->hif_ops->write_async(ar, address, buffer, length, | 42 | return ar->hif_ops->write_async(ar, address, buffer, length, |
33 | request, packet); | 43 | request, packet); |
34 | } | 44 | } |
35 | static inline void ath6kl_hif_irq_enable(struct ath6kl *ar) | 45 | static inline void ath6kl_hif_irq_enable(struct ath6kl *ar) |
36 | { | 46 | { |
47 | ath6kl_dbg(ATH6KL_DBG_HIF, "hif irq enable\n"); | ||
48 | |||
37 | return ar->hif_ops->irq_enable(ar); | 49 | return ar->hif_ops->irq_enable(ar); |
38 | } | 50 | } |
39 | 51 | ||
40 | static inline void ath6kl_hif_irq_disable(struct ath6kl *ar) | 52 | static inline void ath6kl_hif_irq_disable(struct ath6kl *ar) |
41 | { | 53 | { |
54 | ath6kl_dbg(ATH6KL_DBG_HIF, "hif irq disable\n"); | ||
55 | |||
42 | return ar->hif_ops->irq_disable(ar); | 56 | return ar->hif_ops->irq_disable(ar); |
43 | } | 57 | } |
44 | 58 | ||
@@ -71,11 +85,15 @@ static inline void ath6kl_hif_cleanup_scatter(struct ath6kl *ar) | |||
71 | 85 | ||
72 | static inline int ath6kl_hif_suspend(struct ath6kl *ar) | 86 | static inline int ath6kl_hif_suspend(struct ath6kl *ar) |
73 | { | 87 | { |
88 | ath6kl_dbg(ATH6KL_DBG_HIF, "hif suspend\n"); | ||
89 | |||
74 | return ar->hif_ops->suspend(ar); | 90 | return ar->hif_ops->suspend(ar); |
75 | } | 91 | } |
76 | 92 | ||
77 | static inline int ath6kl_hif_resume(struct ath6kl *ar) | 93 | static inline int ath6kl_hif_resume(struct ath6kl *ar) |
78 | { | 94 | { |
95 | ath6kl_dbg(ATH6KL_DBG_HIF, "hif resume\n"); | ||
96 | |||
79 | return ar->hif_ops->resume(ar); | 97 | return ar->hif_ops->resume(ar); |
80 | } | 98 | } |
81 | #endif | 99 | #endif |
diff --git a/drivers/net/wireless/ath/ath6kl/hif.c b/drivers/net/wireless/ath/ath6kl/hif.c index 7cc6cec1c077..e2d808896b7f 100644 --- a/drivers/net/wireless/ath/ath6kl/hif.c +++ b/drivers/net/wireless/ath/ath6kl/hif.c | |||
@@ -51,8 +51,7 @@ int ath6kl_hif_rw_comp_handler(void *context, int status) | |||
51 | { | 51 | { |
52 | struct htc_packet *packet = context; | 52 | struct htc_packet *packet = context; |
53 | 53 | ||
54 | ath6kl_dbg(ATH6KL_DBG_HTC, | 54 | ath6kl_dbg(ATH6KL_DBG_HIF, "hif rw completion pkt 0x%p status %d\n", |
55 | "ath6kl_hif_rw_comp_handler (pkt:0x%p , status: %d\n", | ||
56 | packet, status); | 55 | packet, status); |
57 | 56 | ||
58 | packet->status = status; | 57 | packet->status = status; |
@@ -119,7 +118,7 @@ int ath6kl_hif_poll_mboxmsg_rx(struct ath6kl_device *dev, u32 *lk_ahd, | |||
119 | 118 | ||
120 | /* delay a little */ | 119 | /* delay a little */ |
121 | mdelay(ATH6KL_TIME_QUANTUM); | 120 | mdelay(ATH6KL_TIME_QUANTUM); |
122 | ath6kl_dbg(ATH6KL_DBG_HTC, "retry mbox poll : %d\n", i); | 121 | ath6kl_dbg(ATH6KL_DBG_HIF, "hif retry mbox poll try %d\n", i); |
123 | } | 122 | } |
124 | 123 | ||
125 | if (i == 0) { | 124 | if (i == 0) { |
@@ -147,6 +146,9 @@ int ath6kl_hif_rx_control(struct ath6kl_device *dev, bool enable_rx) | |||
147 | struct ath6kl_irq_enable_reg regs; | 146 | struct ath6kl_irq_enable_reg regs; |
148 | int status = 0; | 147 | int status = 0; |
149 | 148 | ||
149 | ath6kl_dbg(ATH6KL_DBG_HIF, "hif rx %s\n", | ||
150 | enable_rx ? "enable" : "disable"); | ||
151 | |||
150 | /* take the lock to protect interrupt enable shadows */ | 152 | /* take the lock to protect interrupt enable shadows */ |
151 | spin_lock_bh(&dev->lock); | 153 | spin_lock_bh(&dev->lock); |
152 | 154 | ||
@@ -186,8 +188,8 @@ int ath6kl_hif_submit_scat_req(struct ath6kl_device *dev, | |||
186 | dev->ar->mbox_info.htc_addr; | 188 | dev->ar->mbox_info.htc_addr; |
187 | } | 189 | } |
188 | 190 | ||
189 | ath6kl_dbg(ATH6KL_DBG_HTC, | 191 | ath6kl_dbg(ATH6KL_DBG_HIF, |
190 | "ath6kl_hif_submit_scat_req, entries: %d, total len: %d mbox:0x%X (mode: %s : %s)\n", | 192 | "hif submit scatter request entries %d len %d mbox 0x%x %s %s\n", |
191 | scat_req->scat_entries, scat_req->len, | 193 | scat_req->scat_entries, scat_req->len, |
192 | scat_req->addr, !read ? "async" : "sync", | 194 | scat_req->addr, !read ? "async" : "sync", |
193 | (read) ? "rd" : "wr"); | 195 | (read) ? "rd" : "wr"); |
@@ -629,12 +631,9 @@ int ath6kl_hif_setup(struct ath6kl_device *dev) | |||
629 | /* assemble mask, used for padding to a block */ | 631 | /* assemble mask, used for padding to a block */ |
630 | dev->htc_cnxt->block_mask = dev->htc_cnxt->block_sz - 1; | 632 | dev->htc_cnxt->block_mask = dev->htc_cnxt->block_sz - 1; |
631 | 633 | ||
632 | ath6kl_dbg(ATH6KL_DBG_TRC, "block size: %d, mbox addr:0x%X\n", | 634 | ath6kl_dbg(ATH6KL_DBG_HIF, "hif block size %d mbox addr 0x%x\n", |
633 | dev->htc_cnxt->block_sz, dev->ar->mbox_info.htc_addr); | 635 | dev->htc_cnxt->block_sz, dev->ar->mbox_info.htc_addr); |
634 | 636 | ||
635 | ath6kl_dbg(ATH6KL_DBG_TRC, | ||
636 | "hif interrupt processing is sync only\n"); | ||
637 | |||
638 | status = ath6kl_hif_disable_intrs(dev); | 637 | status = ath6kl_hif_disable_intrs(dev); |
639 | 638 | ||
640 | fail_setup: | 639 | fail_setup: |