aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKalle Valo <kvalo@qca.qualcomm.com>2013-03-18 07:42:21 -0400
committerKalle Valo <kvalo@qca.qualcomm.com>2013-03-18 07:42:21 -0400
commitd57f093aababe358c9c9248fffb554722c15e837 (patch)
treeac34783831e96ae0fcb25ff1bf1b0b2a7ee6befb
parente60c81543fd4edabe5b6fd2ea68d2db6f6204177 (diff)
ath6kl: add tracing point for hif irqs
Add a tracing point for hif irq and dump the register content to user space. This is in hif.c as we could use the same code also with SPI but, as ath6kl doesn't SPI and most likely never will be, this is used just by SDIO so name the trace point as ath6kl_sdio_irq to make it easier to manage filters. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r--drivers/net/wireless/ath/ath6kl/hif.c3
-rw-r--r--drivers/net/wireless/ath/ath6kl/trace.h20
2 files changed, 23 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/hif.c b/drivers/net/wireless/ath/ath6kl/hif.c
index a6b614421fa4..fea7709b5dda 100644
--- a/drivers/net/wireless/ath/ath6kl/hif.c
+++ b/drivers/net/wireless/ath/ath6kl/hif.c
@@ -22,6 +22,7 @@
22#include "target.h" 22#include "target.h"
23#include "hif-ops.h" 23#include "hif-ops.h"
24#include "debug.h" 24#include "debug.h"
25#include "trace.h"
25 26
26#define MAILBOX_FOR_BLOCK_SIZE 1 27#define MAILBOX_FOR_BLOCK_SIZE 1
27 28
@@ -436,6 +437,8 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done)
436 437
437 ath6kl_dump_registers(dev, &dev->irq_proc_reg, 438 ath6kl_dump_registers(dev, &dev->irq_proc_reg,
438 &dev->irq_en_reg); 439 &dev->irq_en_reg);
440 trace_ath6kl_sdio_irq(&dev->irq_en_reg,
441 sizeof(dev->irq_en_reg));
439 442
440 /* Update only those registers that are enabled */ 443 /* Update only those registers that are enabled */
441 host_int_status = dev->irq_proc_reg.host_int_status & 444 host_int_status = dev->irq_proc_reg.host_int_status &
diff --git a/drivers/net/wireless/ath/ath6kl/trace.h b/drivers/net/wireless/ath/ath6kl/trace.h
index 9db616c2ac96..541729b3d4c3 100644
--- a/drivers/net/wireless/ath/ath6kl/trace.h
+++ b/drivers/net/wireless/ath/ath6kl/trace.h
@@ -165,6 +165,26 @@ TRACE_EVENT(ath6kl_sdio_scat,
165 ) 165 )
166); 166);
167 167
168TRACE_EVENT(ath6kl_sdio_irq,
169 TP_PROTO(void *buf, size_t buf_len),
170
171 TP_ARGS(buf, buf_len),
172
173 TP_STRUCT__entry(
174 __field(size_t, buf_len)
175 __dynamic_array(u8, buf, buf_len)
176 ),
177
178 TP_fast_assign(
179 __entry->buf_len = buf_len;
180 memcpy(__get_dynamic_array(buf), buf, buf_len);
181 ),
182
183 TP_printk(
184 "irq len %d\n", __entry->buf_len
185 )
186);
187
168#endif /* _ ATH6KL_TRACE_H || TRACE_HEADER_MULTI_READ*/ 188#endif /* _ ATH6KL_TRACE_H || TRACE_HEADER_MULTI_READ*/
169 189
170/* we don't want to use include/trace/events */ 190/* we don't want to use include/trace/events */