xref: /freebsd/sys/contrib/dev/mediatek/mt76/mt76x02_trace.h (revision cbb3ec25236ba72f91cbdf23f8b78b9d1af0cedf)
16c92544dSBjoern A. Zeeb /* SPDX-License-Identifier: ISC */
26c92544dSBjoern A. Zeeb /*
36c92544dSBjoern A. Zeeb  * Copyright (C) 2016 Felix Fietkau <nbd@nbd.name>
46c92544dSBjoern A. Zeeb  */
56c92544dSBjoern A. Zeeb 
66c92544dSBjoern A. Zeeb #if !defined(__MT76x02_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
76c92544dSBjoern A. Zeeb #define __MT76x02_TRACE_H
86c92544dSBjoern A. Zeeb 
96c92544dSBjoern A. Zeeb #include <linux/tracepoint.h>
106c92544dSBjoern A. Zeeb #include "mt76x02.h"
116c92544dSBjoern A. Zeeb 
126c92544dSBjoern A. Zeeb #undef TRACE_SYSTEM
136c92544dSBjoern A. Zeeb #define TRACE_SYSTEM mt76x02
146c92544dSBjoern A. Zeeb 
156c92544dSBjoern A. Zeeb #define MAXNAME		32
166c92544dSBjoern A. Zeeb #define DEV_ENTRY	__array(char, wiphy_name, 32)
17*cbb3ec25SBjoern A. Zeeb #define DEV_ASSIGN	strscpy(__entry->wiphy_name,	\
186c92544dSBjoern A. Zeeb 				wiphy_name(mt76_hw(dev)->wiphy), MAXNAME)
196c92544dSBjoern A. Zeeb #define DEV_PR_FMT	"%s"
206c92544dSBjoern A. Zeeb #define DEV_PR_ARG	__entry->wiphy_name
216c92544dSBjoern A. Zeeb 
226c92544dSBjoern A. Zeeb #define TXID_ENTRY	__field(u8, wcid) __field(u8, pktid)
236c92544dSBjoern A. Zeeb #define TXID_PR_FMT	" [%d:%d]"
246c92544dSBjoern A. Zeeb #define TXID_PR_ARG	__entry->wcid, __entry->pktid
256c92544dSBjoern A. Zeeb 
266c92544dSBjoern A. Zeeb DECLARE_EVENT_CLASS(dev_evt,
276c92544dSBjoern A. Zeeb 	TP_PROTO(struct mt76x02_dev *dev),
286c92544dSBjoern A. Zeeb 	TP_ARGS(dev),
296c92544dSBjoern A. Zeeb 	TP_STRUCT__entry(
306c92544dSBjoern A. Zeeb 		DEV_ENTRY
316c92544dSBjoern A. Zeeb 	),
326c92544dSBjoern A. Zeeb 	TP_fast_assign(
336c92544dSBjoern A. Zeeb 		DEV_ASSIGN;
346c92544dSBjoern A. Zeeb 	),
356c92544dSBjoern A. Zeeb 	TP_printk(DEV_PR_FMT, DEV_PR_ARG)
366c92544dSBjoern A. Zeeb );
376c92544dSBjoern A. Zeeb 
386c92544dSBjoern A. Zeeb DEFINE_EVENT(dev_evt, mac_txstat_poll,
396c92544dSBjoern A. Zeeb 	TP_PROTO(struct mt76x02_dev *dev),
406c92544dSBjoern A. Zeeb 	TP_ARGS(dev)
416c92544dSBjoern A. Zeeb );
426c92544dSBjoern A. Zeeb 
436c92544dSBjoern A. Zeeb TRACE_EVENT(mac_txstat_fetch,
446c92544dSBjoern A. Zeeb 	TP_PROTO(struct mt76x02_dev *dev,
456c92544dSBjoern A. Zeeb 		 struct mt76x02_tx_status *stat),
466c92544dSBjoern A. Zeeb 
476c92544dSBjoern A. Zeeb 	TP_ARGS(dev, stat),
486c92544dSBjoern A. Zeeb 
496c92544dSBjoern A. Zeeb 	TP_STRUCT__entry(
506c92544dSBjoern A. Zeeb 		DEV_ENTRY
516c92544dSBjoern A. Zeeb 		TXID_ENTRY
526c92544dSBjoern A. Zeeb 		__field(bool, success)
536c92544dSBjoern A. Zeeb 		__field(bool, aggr)
546c92544dSBjoern A. Zeeb 		__field(bool, ack_req)
556c92544dSBjoern A. Zeeb 		__field(u16, rate)
566c92544dSBjoern A. Zeeb 		__field(u8, retry)
576c92544dSBjoern A. Zeeb 	),
586c92544dSBjoern A. Zeeb 
596c92544dSBjoern A. Zeeb 	TP_fast_assign(
606c92544dSBjoern A. Zeeb 		DEV_ASSIGN;
616c92544dSBjoern A. Zeeb 		__entry->success = stat->success;
626c92544dSBjoern A. Zeeb 		__entry->aggr = stat->aggr;
636c92544dSBjoern A. Zeeb 		__entry->ack_req = stat->ack_req;
646c92544dSBjoern A. Zeeb 		__entry->wcid = stat->wcid;
656c92544dSBjoern A. Zeeb 		__entry->pktid = stat->pktid;
666c92544dSBjoern A. Zeeb 		__entry->rate = stat->rate;
676c92544dSBjoern A. Zeeb 		__entry->retry = stat->retry;
686c92544dSBjoern A. Zeeb 	),
696c92544dSBjoern A. Zeeb 
706c92544dSBjoern A. Zeeb 	TP_printk(
716c92544dSBjoern A. Zeeb 		DEV_PR_FMT TXID_PR_FMT
726c92544dSBjoern A. Zeeb 		" success:%d aggr:%d ack_req:%d"
736c92544dSBjoern A. Zeeb 		" rate:%04x retry:%d",
746c92544dSBjoern A. Zeeb 		DEV_PR_ARG, TXID_PR_ARG,
756c92544dSBjoern A. Zeeb 		__entry->success, __entry->aggr, __entry->ack_req,
766c92544dSBjoern A. Zeeb 		__entry->rate, __entry->retry
776c92544dSBjoern A. Zeeb 	)
786c92544dSBjoern A. Zeeb );
796c92544dSBjoern A. Zeeb 
806c92544dSBjoern A. Zeeb #endif
816c92544dSBjoern A. Zeeb 
826c92544dSBjoern A. Zeeb #undef TRACE_INCLUDE_PATH
836c92544dSBjoern A. Zeeb #define TRACE_INCLUDE_PATH .
846c92544dSBjoern A. Zeeb #undef TRACE_INCLUDE_FILE
856c92544dSBjoern A. Zeeb #define TRACE_INCLUDE_FILE mt76x02_trace
866c92544dSBjoern A. Zeeb 
876c92544dSBjoern A. Zeeb #include <trace/define_trace.h>
88