diff options
author | Seth Forshee <seth.forshee@canonical.com> | 2012-11-15 08:08:11 -0600 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-11-20 14:08:06 -0500 |
commit | 0c9a0a1dd145a3078ff50c50b2d20de6b46f5e62 (patch) | |
tree | 25f83ec30565de5338f9c117dd9f7d232eb12eff /drivers/net | |
parent | e3c0d8a6f67f2ee22476e0ceb0ad22945840a5af (diff) |
brcmsmac: Add tracepoint for AMPDU session information
Acked-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Tested-by: Daniel Wagner <wagi@monom.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h | 28 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmsmac/dma.c | 8 |
2 files changed, 36 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h b/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h index 2ef7580af67..871781e6a71 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h +++ b/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h @@ -156,6 +156,34 @@ TRACE_EVENT(brcms_txstatus, __entry->ackphyrxsh) ); +TRACE_EVENT(brcms_ampdu_session, + TP_PROTO(const struct device *dev, unsigned max_ampdu_len, + u16 max_ampdu_frames, u16 ampdu_len, u16 ampdu_frames, + u16 dma_len), + TP_ARGS(dev, max_ampdu_len, max_ampdu_frames, ampdu_len, ampdu_frames, + dma_len), + TP_STRUCT__entry( + __string(dev, dev_name(dev)) + __field(unsigned, max_ampdu_len) + __field(u16, max_ampdu_frames) + __field(u16, ampdu_len) + __field(u16, ampdu_frames) + __field(u16, dma_len) + ), + TP_fast_assign( + __assign_str(dev, dev_name(dev)); + __entry->max_ampdu_len = max_ampdu_len; + __entry->max_ampdu_frames = max_ampdu_frames; + __entry->ampdu_len = ampdu_len; + __entry->ampdu_frames = ampdu_frames; + __entry->dma_len = dma_len; + ), + TP_printk("[%s] ampdu session max_len=%u max_frames=%u len=%u frames=%u dma_len=%u", + __get_str(dev), __entry->max_ampdu_len, + __entry->max_ampdu_frames, __entry->ampdu_len, + __entry->ampdu_frames, __entry->dma_len) +); + #undef TRACE_SYSTEM #define TRACE_SYSTEM brcmsmac_msg diff --git a/drivers/net/wireless/brcm80211/brcmsmac/dma.c b/drivers/net/wireless/brcm80211/brcmsmac/dma.c index ba3344310f0..0f44bd9dce3 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/dma.c +++ b/drivers/net/wireless/brcm80211/brcmsmac/dma.c @@ -29,6 +29,7 @@ #include "scb.h" #include "ampdu.h" #include "debug.h" +#include "brcms_trace_events.h" /* * dma register field offset calculation @@ -1311,6 +1312,13 @@ static void ampdu_finalize(struct dma_info *di) struct brcms_ampdu_session *session = &di->ampdu_session; struct sk_buff *p; + trace_brcms_ampdu_session(&session->wlc->hw->d11core->dev, + session->max_ampdu_len, + session->max_ampdu_frames, + session->ampdu_len, + skb_queue_len(&session->skb_list), + session->dma_len); + if (WARN_ON(skb_queue_empty(&session->skb_list))) return; |