linux-hardened/drivers/net/wireless/ti/wlcore
Igal Chernobelsky 1e41213fe7 wlcore: read FW logs from FW memory on watchdog recovery
FW uses a few memory blocks as a buffer to accumulate FW logs before
transmitting them to the host over SDIO. When FW WatchDog recovery
occurs, the last FW traces are still pending in the buffer. Driver is
to read these FW traces whether log mode is continuous or on demand.

FW memory blocks allocated for the log buffer are handled as a link list:
the first 4 bytes in each memory block contain FW address to the next block.
The end of list condition depends on FW log mode:
- on demand: the list is cyclic, the next address is equal to the first address
- continuous: the address is  equal to 0x2000000

Log data resides inside FW memory block with offset depending on
logger mode:
- on demand:  4 bytes (address of the next memory block)
- continuous: 4 bytes and Rx Descriptor structure size

Described FW logger API is backward compatible with previous FW versions.

Signed-off-by: Igal Chernobelsky <igalc@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2012-06-21 16:48:19 +03:00
..
acx.c wlcore: reconfigure sleep_auth when removing interfaces 2012-06-21 12:51:55 +03:00
acx.h wlcore: allow setting sleep_auth before interface init 2012-06-21 12:51:41 +03:00
boot.c wlcore/wl12xx/wl18xx: make NVS file optional for wl18xx 2012-06-08 09:52:06 +03:00
boot.h wlcore: create private static_data area and add operation to parse it 2012-06-05 15:58:20 +03:00
cmd.c wlcore/wl12xx/wl18xx: introduce quirk to remove TKIP header space 2012-06-06 19:28:04 +03:00
cmd.h wlcore: add print logs of radio_status in case of BIP calibration 2012-06-13 21:56:37 +03:00
conf.h wlcore: allow setting sleep_auth before interface init 2012-06-21 12:51:41 +03:00
debug.h
debugfs.c wlcore: allow setting sleep_auth before interface init 2012-06-21 12:51:41 +03:00
debugfs.h wlcore: add debugfs macro to help print fw statistics arrays 2012-06-05 15:58:08 +03:00
event.c wl12xx: send beacon loss events to userspace 2012-06-06 19:28:06 +03:00
event.h
hw_ops.h wl18xx: pad only last frame in aggregration buffer for PG2 2012-06-07 18:11:06 +03:00
ini.h wlcore/wl12xx: add support for HP and SKW FEM radio manufacturers 2012-06-13 21:52:56 +03:00
init.c wlcore: reconfigure sleep_auth when removing interfaces 2012-06-21 12:51:55 +03:00
init.h
io.c
io.h
Kconfig wireless: TI wlxxx depends on MAC80211 2012-05-15 17:53:24 -04:00
main.c wlcore: read FW logs from FW memory on watchdog recovery 2012-06-21 16:48:19 +03:00
Makefile
ps.c wlcore: add a debugfs entry to allow changing the sleep mode by hand 2012-06-21 12:44:17 +03:00
ps.h
rx.c wlcore: avoid using NET_IP_ALIGN for RX alignment 2012-06-13 21:44:10 +03:00
rx.h wlcore: avoid using NET_IP_ALIGN for RX alignment 2012-06-13 21:44:10 +03:00
scan.c wlcore: set channels 12-14 as pactive for sched scan 2012-06-06 19:40:27 +03:00
scan.h wlcore: set channels 12-14 as pactive for sched scan 2012-06-06 19:40:27 +03:00
sdio.c wlcore: add module parameter to dump SDIO reads and writes 2012-06-05 15:57:15 +03:00
spi.c
testmode.c wlcore: add print logs of radio_status in case of BIP calibration 2012-06-13 21:56:37 +03:00
testmode.h
tx.c wlcore: send EAPOLs with basic rate policy 2012-06-13 21:44:18 +03:00
tx.h wl18xx: pad only last frame in aggregration buffer for PG2 2012-06-07 18:11:06 +03:00
wl12xx_80211.h
wl12xx_platform_data.c
wlcore.h wlcore: add a debugfs entry to allow changing the sleep mode by hand 2012-06-21 12:44:17 +03:00
wlcore_i.h wlcore/wl12xx/wl18xx: handle spare blocks spacial cases per arch 2012-06-06 19:28:05 +03:00