2 * Copyright (c) 2011 Broadcom Corporation
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 #if !defined(__TRACE_BRCMSMAC_TX_H) || defined(TRACE_HEADER_MULTI_READ)
18 #define __TRACE_BRCMSMAC_TX_H
20 #include <linux/tracepoint.h>
23 #define TRACE_SYSTEM brcmsmac_tx
25 TRACE_EVENT(brcms_txdesc
,
26 TP_PROTO(const struct device
*dev
,
27 void *txh
, size_t txh_len
),
28 TP_ARGS(dev
, txh
, txh_len
),
30 __string(dev
, dev_name(dev
))
31 __dynamic_array(u8
, txh
, txh_len
)
34 __assign_str(dev
, dev_name(dev
));
35 memcpy(__get_dynamic_array(txh
), txh
, txh_len
);
37 TP_printk("[%s] txdesc", __get_str(dev
))
40 TRACE_EVENT(brcms_txstatus
,
41 TP_PROTO(const struct device
*dev
, u16 framelen
, u16 frameid
,
42 u16 status
, u16 lasttxtime
, u16 sequence
, u16 phyerr
,
44 TP_ARGS(dev
, framelen
, frameid
, status
, lasttxtime
, sequence
, phyerr
,
47 __string(dev
, dev_name(dev
))
48 __field(u16
, framelen
)
51 __field(u16
, lasttxtime
)
52 __field(u16
, sequence
)
54 __field(u16
, ackphyrxsh
)
57 __assign_str(dev
, dev_name(dev
));
58 __entry
->framelen
= framelen
;
59 __entry
->frameid
= frameid
;
60 __entry
->status
= status
;
61 __entry
->lasttxtime
= lasttxtime
;
62 __entry
->sequence
= sequence
;
63 __entry
->phyerr
= phyerr
;
64 __entry
->ackphyrxsh
= ackphyrxsh
;
66 TP_printk("[%s] FrameId %#04x TxStatus %#04x LastTxTime %#04x "
67 "Seq %#04x PHYTxStatus %#04x RxAck %#04x",
68 __get_str(dev
), __entry
->frameid
, __entry
->status
,
69 __entry
->lasttxtime
, __entry
->sequence
, __entry
->phyerr
,
73 TRACE_EVENT(brcms_ampdu_session
,
74 TP_PROTO(const struct device
*dev
, unsigned max_ampdu_len
,
75 u16 max_ampdu_frames
, u16 ampdu_len
, u16 ampdu_frames
,
77 TP_ARGS(dev
, max_ampdu_len
, max_ampdu_frames
, ampdu_len
, ampdu_frames
,
80 __string(dev
, dev_name(dev
))
81 __field(unsigned, max_ampdu_len
)
82 __field(u16
, max_ampdu_frames
)
83 __field(u16
, ampdu_len
)
84 __field(u16
, ampdu_frames
)
88 __assign_str(dev
, dev_name(dev
));
89 __entry
->max_ampdu_len
= max_ampdu_len
;
90 __entry
->max_ampdu_frames
= max_ampdu_frames
;
91 __entry
->ampdu_len
= ampdu_len
;
92 __entry
->ampdu_frames
= ampdu_frames
;
93 __entry
->dma_len
= dma_len
;
95 TP_printk("[%s] ampdu session max_len=%u max_frames=%u len=%u frames=%u dma_len=%u",
96 __get_str(dev
), __entry
->max_ampdu_len
,
97 __entry
->max_ampdu_frames
, __entry
->ampdu_len
,
98 __entry
->ampdu_frames
, __entry
->dma_len
)
100 #endif /* __TRACE_BRCMSMAC_TX_H */
102 #ifdef CONFIG_BRCM_TRACING
104 #undef TRACE_INCLUDE_PATH
105 #define TRACE_INCLUDE_PATH .
106 #undef TRACE_INCLUDE_FILE
107 #define TRACE_INCLUDE_FILE brcms_trace_brcmsmac_tx
108 #include <trace/define_trace.h>
110 #endif /* CONFIG_BRCM_TRACING */