16c92544dSBjoern A. Zeeb /* SPDX-License-Identifier: ISC */
26c92544dSBjoern A. Zeeb /*
36c92544dSBjoern A. Zeeb  * Copyright (C) 2019 Lorenzo Bianconi <lorenzo@kernel.org>
46c92544dSBjoern A. Zeeb  */
56c92544dSBjoern A. Zeeb 
66c92544dSBjoern A. Zeeb #if !defined(__MT7615_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
76c92544dSBjoern A. Zeeb #define __MT7615_TRACE_H
86c92544dSBjoern A. Zeeb 
96c92544dSBjoern A. Zeeb #include <linux/tracepoint.h>
106c92544dSBjoern A. Zeeb #include "mt7615.h"
116c92544dSBjoern A. Zeeb 
126c92544dSBjoern A. Zeeb #undef TRACE_SYSTEM
136c92544dSBjoern A. Zeeb #define TRACE_SYSTEM mt7615
146c92544dSBjoern A. Zeeb 
156c92544dSBjoern A. Zeeb #define MAXNAME		32
166c92544dSBjoern A. Zeeb #define DEV_ENTRY	__array(char, wiphy_name, 32)
17cbb3ec25SBjoern 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 TOKEN_ENTRY	__field(u16, token)
236c92544dSBjoern A. Zeeb #define TOKEN_ASSIGN	__entry->token = token
246c92544dSBjoern A. Zeeb #define TOKEN_PR_FMT	" %d"
256c92544dSBjoern A. Zeeb #define TOKEN_PR_ARG	__entry->token
266c92544dSBjoern A. Zeeb 
276c92544dSBjoern A. Zeeb DECLARE_EVENT_CLASS(dev_token,
286c92544dSBjoern A. Zeeb 	TP_PROTO(struct mt7615_dev *dev, u16 token),
296c92544dSBjoern A. Zeeb 	TP_ARGS(dev, token),
306c92544dSBjoern A. Zeeb 	TP_STRUCT__entry(
316c92544dSBjoern A. Zeeb 		DEV_ENTRY
326c92544dSBjoern A. Zeeb 		TOKEN_ENTRY
336c92544dSBjoern A. Zeeb 	),
346c92544dSBjoern A. Zeeb 	TP_fast_assign(
356c92544dSBjoern A. Zeeb 		DEV_ASSIGN;
366c92544dSBjoern A. Zeeb 		TOKEN_ASSIGN;
376c92544dSBjoern A. Zeeb 	),
386c92544dSBjoern A. Zeeb 	TP_printk(
396c92544dSBjoern A. Zeeb 		DEV_PR_FMT TOKEN_PR_FMT,
406c92544dSBjoern A. Zeeb 		DEV_PR_ARG, TOKEN_PR_ARG
416c92544dSBjoern A. Zeeb 	)
426c92544dSBjoern A. Zeeb );
436c92544dSBjoern A. Zeeb 
446c92544dSBjoern A. Zeeb DEFINE_EVENT(dev_token, mac_tx_free,
456c92544dSBjoern A. Zeeb 	TP_PROTO(struct mt7615_dev *dev, u16 token),
466c92544dSBjoern A. Zeeb 	TP_ARGS(dev, token)
476c92544dSBjoern A. Zeeb );
486c92544dSBjoern A. Zeeb 
496c92544dSBjoern A. Zeeb #endif
506c92544dSBjoern A. Zeeb 
516c92544dSBjoern A. Zeeb #undef TRACE_INCLUDE_PATH
526c92544dSBjoern A. Zeeb #define TRACE_INCLUDE_PATH .
536c92544dSBjoern A. Zeeb #undef TRACE_INCLUDE_FILE
546c92544dSBjoern A. Zeeb #define TRACE_INCLUDE_FILE mt7615_trace
556c92544dSBjoern A. Zeeb 
566c92544dSBjoern A. Zeeb #include <trace/define_trace.h>
57