aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl
diff options
context:
space:
mode:
authorKalle Valo <kvalo@qca.qualcomm.com>2011-10-13 08:21:53 -0400
committerKalle Valo <kvalo@qca.qualcomm.com>2011-11-11 05:50:57 -0500
commit83973e0357e2b3792480aa02b672902b2aa774b0 (patch)
tree5a47fed7dc8962bc9ca1aa75b7b40efbcb41b563 /drivers/net/wireless/ath/ath6kl
parentb1e03f8acf51aa5e911a25ded72141148ef2d41a (diff)
ath6kl: add debug level for hif
That way we htc level debug messages can be removed from hif files. Also add few new messages and remove useless debug message about using synchrous irq processing (we don't support anything else). Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl')
-rw-r--r--drivers/net/wireless/ath/ath6kl/debug.h2
-rw-r--r--drivers/net/wireless/ath/ath6kl/hif-ops.h18
-rw-r--r--drivers/net/wireless/ath/ath6kl/hif.c17
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
22static inline int hif_read_write_sync(struct ath6kl *ar, u32 addr, u8 *buf, 23static 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}
35static inline void ath6kl_hif_irq_enable(struct ath6kl *ar) 45static 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
40static inline void ath6kl_hif_irq_disable(struct ath6kl *ar) 52static 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
72static inline int ath6kl_hif_suspend(struct ath6kl *ar) 86static 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
77static inline int ath6kl_hif_resume(struct ath6kl *ar) 93static 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
640fail_setup: 639fail_setup: