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

Commit 76584ece authored by Arend van Spriel's avatar Arend van Spriel Committed by John W. Linville
Browse files

brcmfmac: add tracepoint for capturing the SDPCM header



Having the SDPCM header information in the traces is a valuable
piece of information.

Reviewed-by: default avatarFranky Lin <frankyl@broadcom.com>
Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b4caee6a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1147,6 +1147,8 @@ static int brcmf_sdio_hdparse(struct brcmf_sdio *bus, u8 *header,
	u8 rx_seq, fc, tx_seq_max;
	u32 swheader;

	trace_brcmf_sdpcm_hdr(false, header);

	/* hw header */
	len = get_unaligned_le16(header);
	checksum = get_unaligned_le16(header + sizeof(u16));
@@ -1269,6 +1271,7 @@ static void brcmf_sdio_hdpack(struct brcmf_sdio *bus, u8 *header,
		     SDPCM_DOFFSET_MASK;
	*(((__le32 *)header) + 1) = cpu_to_le32(sw_header);
	*(((__le32 *)header) + 2) = 0;
	trace_brcmf_sdpcm_hdr(true, header);
}

static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq)
+17 −0
Original line number Diff line number Diff line
@@ -110,6 +110,23 @@ TRACE_EVENT(brcmf_bdchdr,
	TP_printk("bdc: prio=%d siglen=%d", __entry->prio, __entry->siglen)
);

TRACE_EVENT(brcmf_sdpcm_hdr,
	TP_PROTO(bool tx, void *data),
	TP_ARGS(tx, data),
	TP_STRUCT__entry(
		__field(u8, tx)
		__field(u16, len)
		__array(u8, hdr, 12)
	),
	TP_fast_assign(
		memcpy(__entry->hdr, data, 12);
		__entry->len = __entry->hdr[0] | (__entry->hdr[1] << 8);
		__entry->tx = tx ? 1 : 0;
	),
	TP_printk("sdpcm: %s len %u, seq %d", __entry->tx ? "TX" : "RX",
		  __entry->len, __entry->hdr[4])
);

#ifdef CONFIG_BRCM_TRACING

#undef TRACE_INCLUDE_PATH