1
linux/drivers/net/wireless/iwlwifi
Wey-Yi Guy a9e1cb6a78 iwlwifi: add continuous uCode event log capability
In order to help uCode debugging, adding the capability to provide
continuous uCode event logging function.

uCode events is located in round-robin event queue and filled by uCode,
by enable continuous event logging, driver check the write pointer
and log the newly added events in iwl_bg_ucode_trace() timer function.

There is still possibility of missing events if event queue being
wrapped before next event dump; but with this capability, we can have
much better understanding of the uCode behavior during runtime; it can
help to debug the uCode related issues.

Methods to enable/disable the continuous event log:
step 1: enable ucode trace timer
     "echo 1 >
/sys/kernel/debug/ieee80211/phyX/iwlagn/debug/ucode_tracing"
step 2: start ftrace
     sudo ./trace-cmd record -e iwlwifi_ucode:* sleep 1d
step 3: stop ftrace
     sudo ./trace-cmd report trace.dat
step 4: disable ucode trace timer
     "echo 0 >
/sys/kernel/debug/ieee80211/phyX/iwlagn/debug/ucode_tracing"

use "ucode_tracing" debugfs file to display number of event
queue wrapped when driver attempt the continuous event logging. If event
queue being wrapped more than once when driver has opportunity to log
the event; it indicated there are events missing in the event log trace.

This continuous event log function only available for 4965 and newer
NICs.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-12-21 18:56:16 -05:00
..
iwl3945-base.c iwlwifi: driver version track kernel version 2009-12-04 14:16:26 -05:00
iwl-1000.c iwlwifi: dump "Control and Status Register" when detect uCode HW/SW error 2009-12-21 18:56:14 -05:00
iwl-3945-fh.h
iwl-3945-hw.h
iwl-3945-led.c
iwl-3945-led.h
iwl-3945-rs.c
iwl-3945.c
iwl-3945.h iwlwifi: print limited number of event log when uCode error 2009-11-23 17:05:37 -05:00
iwl-4965-hw.h
iwl-4965.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-11-24 15:01:29 -08:00
iwl-5000-hw.h
iwl-5000.c iwlwifi: dump "Control and Status Register" when detect uCode HW/SW error 2009-12-21 18:56:14 -05:00
iwl-6000-hw.h
iwl-6000.c iwlwifi: dump "Control and Status Register" when detect uCode HW/SW error 2009-12-21 18:56:14 -05:00
iwl-agn-led.c
iwl-agn-led.h
iwl-agn-rs.c iwlwifi: set read/write permission for debugfs files 2009-11-23 17:05:33 -05:00
iwl-agn-rs.h
iwl-agn.c iwlwifi: add continuous uCode event log capability 2009-12-21 18:56:16 -05:00
iwl-calib.c
iwl-calib.h
iwl-commands.h iwlwifi: log CT_CARD_DISABLED flag 2009-12-21 18:56:13 -05:00
iwl-core.c iwlwifi: dump "Control and Status Register" when detect uCode HW/SW error 2009-12-21 18:56:14 -05:00
iwl-core.h iwlwifi: dump "Control and Status Register" when detect uCode HW/SW error 2009-12-21 18:56:14 -05:00
iwl-csr.h iwlagn: Use iwl_write8() for CSR_INT_COALESCING register 2009-11-23 17:05:30 -05:00
iwl-debug.h iwlwifi: add continuous uCode event log capability 2009-12-21 18:56:16 -05:00
iwl-debugfs.c iwlwifi: add continuous uCode event log capability 2009-12-21 18:56:16 -05:00
iwl-dev.h iwlwifi: add continuous uCode event log capability 2009-12-21 18:56:16 -05:00
iwl-devtrace.c iwlwifi: add continuous uCode event log capability 2009-12-21 18:56:16 -05:00
iwl-devtrace.h iwlwifi: add continuous uCode event log capability 2009-12-21 18:56:16 -05:00
iwl-eeprom.c
iwl-eeprom.h
iwl-fh.h
iwl-hcmd.c
iwl-helpers.h
iwl-io.h iwlwifi: Add iwl_write8() 2009-11-23 17:05:30 -05:00
iwl-led.c iwlwifi: remove reset led_tpt from iwl_leds_init() 2009-11-23 17:05:38 -05:00
iwl-led.h
iwl-power.c
iwl-power.h
iwl-prph.h
iwl-rx.c iwlagn: Use iwl_write8() for CSR_INT_COALESCING register 2009-11-23 17:05:30 -05:00
iwl-scan.c
iwl-spectrum.c
iwl-spectrum.h
iwl-sta.c
iwl-sta.h
iwl-tx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-12-01 22:13:38 -08:00
Kconfig
Makefile