aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2014-09-18 07:18:50 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-09-30 13:17:14 -0400
commit7e174833dec99ca901241730efa84029c4047bae (patch)
tree9bb4849d85efa279533f1d5f53d099c1abd5a638
parent24716876d82ac0cb7ade51b7363ebc125307e9cc (diff)
mwifiex: add more dump information for PCIe interface
We will now dump MAC, APU, CIU, ICU firmware memory segments also for PCIe interface. Following is the updated userspace script which reads firmware dump information. mwifiex_pcie_fw_dump.sh: #!/bin/bash ethtool --set-dump mlan0 0 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/ITCM.log ethtool --set-dump mlan0 1 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/DTCM.log ethtool --set-dump mlan0 2 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/SQRAM.log ethtool --set-dump mlan0 3 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/IRAM.log ethtool --set-dump mlan0 4 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/APU.log ethtool --set-dump mlan0 5 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/CIU.log ethtool --set-dump mlan0 6 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/ICU.log ethtool --set-dump mlan0 7 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/MAC.log Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Cathy Luo <cluo@marvell.com> Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/mwifiex/main.h1
-rw-r--r--drivers/net/wireless/mwifiex/pcie.c10
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
index 1a999999b391..022486ed42f2 100644
--- a/drivers/net/wireless/mwifiex/main.h
+++ b/drivers/net/wireless/mwifiex/main.h
@@ -413,6 +413,7 @@ struct mwifiex_roc_cfg {
413#define FW_DUMP_MAX_NAME_LEN 8 413#define FW_DUMP_MAX_NAME_LEN 8
414#define FW_DUMP_HOST_READY 0xEE 414#define FW_DUMP_HOST_READY 0xEE
415#define FW_DUMP_DONE 0xFF 415#define FW_DUMP_DONE 0xFF
416#define FW_DUMP_READ_DONE 0xFE
416 417
417struct memory_type_mapping { 418struct memory_type_mapping {
418 u8 mem_name[FW_DUMP_MAX_NAME_LEN]; 419 u8 mem_name[FW_DUMP_MAX_NAME_LEN];
diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c
index 803b8304b144..74c0db97d79b 100644
--- a/drivers/net/wireless/mwifiex/pcie.c
+++ b/drivers/net/wireless/mwifiex/pcie.c
@@ -42,6 +42,10 @@ static struct memory_type_mapping mem_type_mapping_tbl[] = {
42 {"DTCM", NULL, 0, 0xF1}, 42 {"DTCM", NULL, 0, 0xF1},
43 {"SQRAM", NULL, 0, 0xF2}, 43 {"SQRAM", NULL, 0, 0xF2},
44 {"IRAM", NULL, 0, 0xF3}, 44 {"IRAM", NULL, 0, 0xF3},
45 {"APU", NULL, 0, 0xF4},
46 {"CIU", NULL, 0, 0xF5},
47 {"ICU", NULL, 0, 0xF6},
48 {"MAC", NULL, 0, 0xF7},
45}; 49};
46 50
47static int 51static int
@@ -2310,6 +2314,12 @@ static void mwifiex_pcie_fw_dump_work(struct mwifiex_adapter *adapter)
2310 2314
2311 if (memory_size == 0) { 2315 if (memory_size == 0) {
2312 dev_info(adapter->dev, "Firmware dump Finished!\n"); 2316 dev_info(adapter->dev, "Firmware dump Finished!\n");
2317 ret = mwifiex_write_reg(adapter, creg->fw_dump_ctrl,
2318 FW_DUMP_READ_DONE);
2319 if (ret) {
2320 dev_err(adapter->dev, "PCIE write err\n");
2321 goto done;
2322 }
2313 break; 2323 break;
2314 } 2324 }
2315 2325