Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: ISC */
0002 /*
0003  * Copyright (C) 2016 Felix Fietkau <nbd@nbd.name>
0004  */
0005 
0006 #if !defined(__MT76x02_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
0007 #define __MT76x02_TRACE_H
0008 
0009 #include <linux/tracepoint.h>
0010 #include "mt76x02.h"
0011 
0012 #undef TRACE_SYSTEM
0013 #define TRACE_SYSTEM mt76x02
0014 
0015 #define MAXNAME     32
0016 #define DEV_ENTRY   __array(char, wiphy_name, 32)
0017 #define DEV_ASSIGN  strlcpy(__entry->wiphy_name,    \
0018                 wiphy_name(mt76_hw(dev)->wiphy), MAXNAME)
0019 #define DEV_PR_FMT  "%s"
0020 #define DEV_PR_ARG  __entry->wiphy_name
0021 
0022 #define TXID_ENTRY  __field(u8, wcid) __field(u8, pktid)
0023 #define TXID_PR_FMT " [%d:%d]"
0024 #define TXID_PR_ARG __entry->wcid, __entry->pktid
0025 
0026 DECLARE_EVENT_CLASS(dev_evt,
0027     TP_PROTO(struct mt76x02_dev *dev),
0028     TP_ARGS(dev),
0029     TP_STRUCT__entry(
0030         DEV_ENTRY
0031     ),
0032     TP_fast_assign(
0033         DEV_ASSIGN;
0034     ),
0035     TP_printk(DEV_PR_FMT, DEV_PR_ARG)
0036 );
0037 
0038 DEFINE_EVENT(dev_evt, mac_txstat_poll,
0039     TP_PROTO(struct mt76x02_dev *dev),
0040     TP_ARGS(dev)
0041 );
0042 
0043 TRACE_EVENT(mac_txstat_fetch,
0044     TP_PROTO(struct mt76x02_dev *dev,
0045          struct mt76x02_tx_status *stat),
0046 
0047     TP_ARGS(dev, stat),
0048 
0049     TP_STRUCT__entry(
0050         DEV_ENTRY
0051         TXID_ENTRY
0052         __field(bool, success)
0053         __field(bool, aggr)
0054         __field(bool, ack_req)
0055         __field(u16, rate)
0056         __field(u8, retry)
0057     ),
0058 
0059     TP_fast_assign(
0060         DEV_ASSIGN;
0061         __entry->success = stat->success;
0062         __entry->aggr = stat->aggr;
0063         __entry->ack_req = stat->ack_req;
0064         __entry->wcid = stat->wcid;
0065         __entry->pktid = stat->pktid;
0066         __entry->rate = stat->rate;
0067         __entry->retry = stat->retry;
0068     ),
0069 
0070     TP_printk(
0071         DEV_PR_FMT TXID_PR_FMT
0072         " success:%d aggr:%d ack_req:%d"
0073         " rate:%04x retry:%d",
0074         DEV_PR_ARG, TXID_PR_ARG,
0075         __entry->success, __entry->aggr, __entry->ack_req,
0076         __entry->rate, __entry->retry
0077     )
0078 );
0079 
0080 #endif
0081 
0082 #undef TRACE_INCLUDE_PATH
0083 #define TRACE_INCLUDE_PATH .
0084 #undef TRACE_INCLUDE_FILE
0085 #define TRACE_INCLUDE_FILE mt76x02_trace
0086 
0087 #include <trace/define_trace.h>