Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Copyright (c) 2011 Broadcom Corporation
0003  *
0004  * Permission to use, copy, modify, and/or distribute this software for any
0005  * purpose with or without fee is hereby granted, provided that the above
0006  * copyright notice and this permission notice appear in all copies.
0007  *
0008  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
0009  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
0010  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
0011  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
0012  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
0013  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
0014  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
0015  */
0016 
0017 #if !defined(__TRACE_BRCMSMAC_TX_H) || defined(TRACE_HEADER_MULTI_READ)
0018 #define __TRACE_BRCMSMAC_TX_H
0019 
0020 #include <linux/tracepoint.h>
0021 
0022 #undef TRACE_SYSTEM
0023 #define TRACE_SYSTEM brcmsmac_tx
0024 
0025 TRACE_EVENT(brcms_txdesc,
0026     TP_PROTO(const struct device *dev,
0027          void *txh, size_t txh_len),
0028     TP_ARGS(dev, txh, txh_len),
0029     TP_STRUCT__entry(
0030         __string(dev, dev_name(dev))
0031         __dynamic_array(u8, txh, txh_len)
0032     ),
0033     TP_fast_assign(
0034         __assign_str(dev, dev_name(dev));
0035         memcpy(__get_dynamic_array(txh), txh, txh_len);
0036     ),
0037     TP_printk("[%s] txdesc", __get_str(dev))
0038 );
0039 
0040 TRACE_EVENT(brcms_txstatus,
0041     TP_PROTO(const struct device *dev, u16 framelen, u16 frameid,
0042          u16 status, u16 lasttxtime, u16 sequence, u16 phyerr,
0043          u16 ackphyrxsh),
0044     TP_ARGS(dev, framelen, frameid, status, lasttxtime, sequence, phyerr,
0045         ackphyrxsh),
0046     TP_STRUCT__entry(
0047         __string(dev, dev_name(dev))
0048         __field(u16, framelen)
0049         __field(u16, frameid)
0050         __field(u16, status)
0051         __field(u16, lasttxtime)
0052         __field(u16, sequence)
0053         __field(u16, phyerr)
0054         __field(u16, ackphyrxsh)
0055     ),
0056     TP_fast_assign(
0057         __assign_str(dev, dev_name(dev));
0058         __entry->framelen = framelen;
0059         __entry->frameid = frameid;
0060         __entry->status = status;
0061         __entry->lasttxtime = lasttxtime;
0062         __entry->sequence = sequence;
0063         __entry->phyerr = phyerr;
0064         __entry->ackphyrxsh = ackphyrxsh;
0065     ),
0066     TP_printk("[%s] FrameId %#04x TxStatus %#04x LastTxTime %#04x "
0067           "Seq %#04x PHYTxStatus %#04x RxAck %#04x",
0068           __get_str(dev), __entry->frameid, __entry->status,
0069           __entry->lasttxtime, __entry->sequence, __entry->phyerr,
0070           __entry->ackphyrxsh)
0071 );
0072 
0073 TRACE_EVENT(brcms_ampdu_session,
0074     TP_PROTO(const struct device *dev, unsigned max_ampdu_len,
0075          u16 max_ampdu_frames, u16 ampdu_len, u16 ampdu_frames,
0076          u16 dma_len),
0077     TP_ARGS(dev, max_ampdu_len, max_ampdu_frames, ampdu_len, ampdu_frames,
0078         dma_len),
0079     TP_STRUCT__entry(
0080         __string(dev, dev_name(dev))
0081         __field(unsigned, max_ampdu_len)
0082         __field(u16, max_ampdu_frames)
0083         __field(u16, ampdu_len)
0084         __field(u16, ampdu_frames)
0085         __field(u16, dma_len)
0086     ),
0087     TP_fast_assign(
0088         __assign_str(dev, dev_name(dev));
0089         __entry->max_ampdu_len = max_ampdu_len;
0090         __entry->max_ampdu_frames = max_ampdu_frames;
0091         __entry->ampdu_len = ampdu_len;
0092         __entry->ampdu_frames = ampdu_frames;
0093         __entry->dma_len = dma_len;
0094     ),
0095     TP_printk("[%s] ampdu session max_len=%u max_frames=%u len=%u frames=%u dma_len=%u",
0096           __get_str(dev), __entry->max_ampdu_len,
0097           __entry->max_ampdu_frames, __entry->ampdu_len,
0098           __entry->ampdu_frames, __entry->dma_len)
0099 );
0100 #endif /* __TRACE_BRCMSMAC_TX_H */
0101 
0102 #ifdef CONFIG_BRCM_TRACING
0103 
0104 #undef TRACE_INCLUDE_PATH
0105 #define TRACE_INCLUDE_PATH .
0106 #undef TRACE_INCLUDE_FILE
0107 #define TRACE_INCLUDE_FILE brcms_trace_brcmsmac_tx
0108 #include <trace/define_trace.h>
0109 
0110 #endif /* CONFIG_BRCM_TRACING */