linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/8] ath10k: firmware crash dump
@ 2014-08-09 18:07 Kalle Valo
  2014-08-09 18:07 ` [PATCH v6 1/8] ath10k: add ath10k_pci_diag_* helpers Kalle Valo
                   ` (8 more replies)
  0 siblings, 9 replies; 14+ messages in thread
From: Kalle Valo @ 2014-08-09 18:07 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless

Next version of ath10k firmware crash dump feature, based on Ben's patches but
heavily modified.

v6:

* fix vzalloc(sizeof(ar->debug.fw_crash_data)), fixes the crash I saw (Ben)

* "Target Register Dump" -> "firmware register dump"

* add ath10k_print_driver_info()

* take timestamp at crash time instead of crash-dump-gather time (Ben)

* fix locking comment in struct ath10k::fw (Ben)

* move "crash_data->crashed_since_read = true" to
  ath10k_debug_get_new_few_crash_data()

* ath10k_pci_hif_dump_area() holds the lock all the time so that we
  can guarantee that changes to ath10k_fw_crash_data are atomic

* take data_lock earlier in ath10k_build_dump_file() so that all
  access to crash_data is protected

* rename debugfs file fw_crash_dump

* fw_crash_dump debugfs files returns -ENODATA if there's no new
  crash dump

* store bss addresses and lengths as u32 in struct ath10k::fw

v5:

* dump_data->tv_sec and tv_nsec to 64 bits (because long can be 32 bits
  on some platforms)

* fix long lines

* renamed ath10k_dbg_save_fw_dbg_buffer() to ath10k_debug_dbglog_add()

* add helpers for ath10k_pci_diag* functions

* refactor and rename ath10k_pci_hif_dump_area()

* latest crash dump is always stored (instead of the oldest unread)

* add ath10k_debug_get_fw_crash_data()

* move fw_r?m_bss_* fields to ar->fw

* struct ath10k_fw_crash_data is allocated with vmalloc()

* atomic allocation in ath10k_pci_dump_bss() is bad, fix that by using vmalloc
  in module initialisation

* separate FW IE entries for BSS regions

* don't use ath10k_err()

* simplify locking and memory allocation for FW IE handling

* add uuid

* move struct ath10k_dump_file_data and enum ath10k_fw_error_dump_type to debug.c

* function and variable naming, using ath10k_fw_crash_ prefix etc

* change warning and debug messages to follow ath10k style

* add ath10k_debug_get_new_fw_crash_data() to avoid ifdefs in pci.c

TODO for the future:

* atomic allocation in ath10k_pci_dump_dbglog() is bad. Should we
  allocate a big buffer with vmalloc and use that?

* dynamic allocation for BSS buffers


---

Ben Greear (5):
      ath10k: provide firmware crash info via debugfs
      ath10k: save firmware debug log messages
      ath10k: save firmware stack upon firmware crash
      ath10k: dump exception stack contents on firmware crash
      ath10k: save firmware RAM and ROM BSS sections on crash

Kalle Valo (3):
      ath10k: add ath10k_pci_diag_* helpers
      ath10k: rename ath10k_pci_hif_dump_area() to ath10k_pci_firmware_crashed()
      ath10k: print more driver info when firmware crashes


 drivers/net/wireless/ath/ath10k/core.c  |   71 +++++-
 drivers/net/wireless/ath/ath10k/core.h  |   45 ++++
 drivers/net/wireless/ath/ath10k/debug.c |  341 +++++++++++++++++++++++++++++++
 drivers/net/wireless/ath/ath10k/debug.h |   23 ++
 drivers/net/wireless/ath/ath10k/hw.h    |   36 +++
 drivers/net/wireless/ath/ath10k/pci.c   |  257 +++++++++++++++++++++--
 drivers/net/wireless/ath/ath10k/pci.h   |    3 
 drivers/net/wireless/ath/ath10k/wmi.c   |   10 +
 8 files changed, 743 insertions(+), 43 deletions(-)


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-08-18 12:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-09 18:07 [PATCH v6 0/8] ath10k: firmware crash dump Kalle Valo
2014-08-09 18:07 ` [PATCH v6 1/8] ath10k: add ath10k_pci_diag_* helpers Kalle Valo
2014-08-09 18:08 ` [PATCH v6 2/8] ath10k: provide firmware crash info via debugfs Kalle Valo
2014-08-18  8:54   ` Michal Kazior
2014-08-18 11:39     ` Kalle Valo
2014-08-18 12:36       ` Michal Kazior
2014-08-18 12:53         ` Kalle Valo
2014-08-09 18:08 ` [PATCH v6 3/8] ath10k: save firmware debug log messages Kalle Valo
2014-08-09 18:08 ` [PATCH v6 4/8] ath10k: save firmware stack upon firmware crash Kalle Valo
2014-08-09 18:08 ` [PATCH v6 5/8] ath10k: dump exception stack contents on " Kalle Valo
2014-08-09 18:08 ` [PATCH v6 6/8] ath10k: save firmware RAM and ROM BSS sections on crash Kalle Valo
2014-08-09 18:08 ` [PATCH v6 7/8] ath10k: rename ath10k_pci_hif_dump_area() to ath10k_pci_firmware_crashed() Kalle Valo
2014-08-09 18:08 ` [PATCH v6 8/8] ath10k: print more driver info when firmware crashes Kalle Valo
2014-08-09 20:50 ` [PATCH v6 0/8] ath10k: firmware crash dump Ben Greear

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).