Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d57f093a authored by Kalle Valo's avatar Kalle Valo
Browse files

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: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent e60c8154
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#include "target.h"
#include "hif-ops.h"
#include "debug.h"
#include "trace.h"

#define MAILBOX_FOR_BLOCK_SIZE          1

@@ -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 &
+20 −0
Original line number Diff line number Diff line
@@ -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 */