Skip to content

Commit

Permalink
brcmsmac: Add tracepoint for AMPDU session information
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Seth Forshee authored and John W. Linville committed Nov 20, 2012
1 parent e3c0d8a commit 0c9a0a1
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
28 changes: 28 additions & 0 deletions drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
8 changes: 8 additions & 0 deletions drivers/net/wireless/brcm80211/brcmsmac/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include "scb.h"
#include "ampdu.h"
#include "debug.h"
#include "brcms_trace_events.h"

/*
* dma register field offset calculation
Expand Down Expand Up @@ -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;

Expand Down

0 comments on commit 0c9a0a1

Please sign in to comment.