Skip to content

Commit

Permalink
ath6kl: add tracing point for hif irqs
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
kvalo committed Mar 18, 2013
1 parent e60c815 commit d57f093
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
3 changes: 3 additions & 0 deletions drivers/net/wireless/ath/ath6kl/hif.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "target.h"
#include "hif-ops.h"
#include "debug.h"
#include "trace.h"

#define MAILBOX_FOR_BLOCK_SIZE 1

Expand Down Expand Up @@ -436,6 +437,8 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done)

ath6kl_dump_registers(dev, &dev->irq_proc_reg,
&dev->irq_en_reg);
trace_ath6kl_sdio_irq(&dev->irq_en_reg,
sizeof(dev->irq_en_reg));

/* Update only those registers that are enabled */
host_int_status = dev->irq_proc_reg.host_int_status &
Expand Down
20 changes: 20 additions & 0 deletions drivers/net/wireless/ath/ath6kl/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,26 @@ TRACE_EVENT(ath6kl_sdio_scat,
)
);

TRACE_EVENT(ath6kl_sdio_irq,
TP_PROTO(void *buf, size_t buf_len),

TP_ARGS(buf, buf_len),

TP_STRUCT__entry(
__field(size_t, buf_len)
__dynamic_array(u8, buf, buf_len)
),

TP_fast_assign(
__entry->buf_len = buf_len;
memcpy(__get_dynamic_array(buf), buf, buf_len);
),

TP_printk(
"irq len %d\n", __entry->buf_len
)
);

#endif /* _ ATH6KL_TRACE_H || TRACE_HEADER_MULTI_READ*/

/* we don't want to use include/trace/events */
Expand Down

0 comments on commit d57f093

Please sign in to comment.