diff options
author | Seth Forshee <seth.forshee@canonical.com> | 2012-11-15 09:08:10 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-11-20 14:07:52 -0500 |
commit | e3c0d8a6f67f2ee22476e0ceb0ad22945840a5af (patch) | |
tree | 13ee89bc7c7c0d982fb56d28348df89a9f2b4720 /drivers/net | |
parent | cdf4352f5c59ee5599579ea3bfa4d8972c3f72f1 (diff) |
brcmsmac: Add tracepoint for macintstatus
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 | 20 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmsmac/main.c | 8 |
2 files changed, 24 insertions, 4 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h b/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h index 96a962abc89a..2ef7580af679 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h +++ b/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h | |||
@@ -85,6 +85,26 @@ TRACE_EVENT(brcms_dpc, | |||
85 | ) | 85 | ) |
86 | ); | 86 | ); |
87 | 87 | ||
88 | TRACE_EVENT(brcms_macintstatus, | ||
89 | TP_PROTO(const struct device *dev, int in_isr, u32 macintstatus, | ||
90 | u32 mask), | ||
91 | TP_ARGS(dev, in_isr, macintstatus, mask), | ||
92 | TP_STRUCT__entry( | ||
93 | __string(dev, dev_name(dev)) | ||
94 | __field(int, in_isr) | ||
95 | __field(u32, macintstatus) | ||
96 | __field(u32, mask) | ||
97 | ), | ||
98 | TP_fast_assign( | ||
99 | __assign_str(dev, dev_name(dev)); | ||
100 | __entry->in_isr = in_isr; | ||
101 | __entry->macintstatus = macintstatus; | ||
102 | __entry->mask = mask; | ||
103 | ), | ||
104 | TP_printk("[%s] in_isr=%d macintstatus=%#x mask=%#x", __get_str(dev), | ||
105 | __entry->in_isr, __entry->macintstatus, __entry->mask) | ||
106 | ); | ||
107 | |||
88 | #undef TRACE_SYSTEM | 108 | #undef TRACE_SYSTEM |
89 | #define TRACE_SYSTEM brcmsmac_tx | 109 | #define TRACE_SYSTEM brcmsmac_tx |
90 | 110 | ||
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c index 9480debef755..241bc2551235 100644 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c | |||
@@ -2552,13 +2552,13 @@ static inline u32 wlc_intstatus(struct brcms_c_info *wlc, bool in_isr) | |||
2552 | { | 2552 | { |
2553 | struct brcms_hardware *wlc_hw = wlc->hw; | 2553 | struct brcms_hardware *wlc_hw = wlc->hw; |
2554 | struct bcma_device *core = wlc_hw->d11core; | 2554 | struct bcma_device *core = wlc_hw->d11core; |
2555 | u32 macintstatus; | 2555 | u32 macintstatus, mask; |
2556 | 2556 | ||
2557 | /* macintstatus includes a DMA interrupt summary bit */ | 2557 | /* macintstatus includes a DMA interrupt summary bit */ |
2558 | macintstatus = bcma_read32(core, D11REGOFFS(macintstatus)); | 2558 | macintstatus = bcma_read32(core, D11REGOFFS(macintstatus)); |
2559 | mask = in_isr ? wlc->macintmask : wlc->defmacintmask; | ||
2559 | 2560 | ||
2560 | brcms_dbg_int(core, "wl%d: macintstatus: 0x%x\n", wlc_hw->unit, | 2561 | trace_brcms_macintstatus(&core->dev, in_isr, macintstatus, mask); |
2561 | macintstatus); | ||
2562 | 2562 | ||
2563 | /* detect cardbus removed, in power down(suspend) and in reset */ | 2563 | /* detect cardbus removed, in power down(suspend) and in reset */ |
2564 | if (brcms_deviceremoved(wlc)) | 2564 | if (brcms_deviceremoved(wlc)) |
@@ -2571,7 +2571,7 @@ static inline u32 wlc_intstatus(struct brcms_c_info *wlc, bool in_isr) | |||
2571 | return 0; | 2571 | return 0; |
2572 | 2572 | ||
2573 | /* defer unsolicited interrupts */ | 2573 | /* defer unsolicited interrupts */ |
2574 | macintstatus &= (in_isr ? wlc->macintmask : wlc->defmacintmask); | 2574 | macintstatus &= mask; |
2575 | 2575 | ||
2576 | /* if not for us */ | 2576 | /* if not for us */ |
2577 | if (macintstatus == 0) | 2577 | if (macintstatus == 0) |