diff options
author | Roger Wang <wangroger@google.com> | 2020-06-24 17:22:32 +0800 |
---|---|---|
committer | Ahmed ElArabawy <arabawy@google.com> | 2020-06-30 11:04:52 -0700 |
commit | 5c2971ce35b875eb9580358ad99d30807d42705b (patch) | |
tree | dc6202b528878776b9484dd73ab570e0e3cd02d8 | |
parent | fa0e9486749f6683745a3957b6c1cd21055b90ea (diff) | |
download | bcm43752-5c2971ce35b875eb9580358ad99d30807d42705b.tar.gz |
bcmdhd: auto detect map file
In this comment, we support loading different map file
for 43752 and 4389.
Bug: 158628077
Test: Trigger trap and get dump reason on 4389 and 43752 chips
Change-Id: I71017030017630318b28e62339e2111492460e05
Signed-off-by: Roger Wang <wangroger@google.com>
Signed-off-by: Ahmed ElArabawy <arabawy@google.com>
-rwxr-xr-x | Kbuild | 4 | ||||
-rw-r--r-- | dhd_linux.c | 8 |
2 files changed, 11 insertions, 1 deletions
@@ -35,6 +35,7 @@ CONFIG_DHD_OF_SUPPORT=y CONFIG_BCMDHD_FW_PATH="\"/vendor/firmware/fw_bcm43752.bin\"" CONFIG_BCMDHD_NVRAM_PATH="\"/vendor/etc/wifi/bcmdhd_43752.cal\"" CONFIG_BCMDHD_CLM_PATH="\"/vendor/etc/wifi/bcmdhd_clm_43752.blob\"" +CONFIG_BCMDHD_MAP_PATH="\"/vendor/etc/wifi/rtecdc_43752.map\"" CONFIG_BCMDHD_4375b0_FW_PATH="\"/vendor/firmware/fw_bcm4375b0.bin\"" CONFIG_BCMDHD_4375b0_NVRAM_PATH="\"/vendor/etc/wifi/bcmdhd_4375.cal\"" CONFIG_BCMDHD_4375b0_CLM_PATH="\"/vendor/etc/wifi/bcmdhd_clm_4375b0.blob\"" @@ -48,6 +49,7 @@ CONFIG_BCMDHD_4385_CLM_PATH="\"/vendor/etc/wifi/bcmdhd_clm_4385.blob\"" CONFIG_BCMDHD_4389_FW_PATH="\"/vendor/firmware/fw_bcm4389.bin\"" CONFIG_BCMDHD_4389_NVRAM_PATH="\"/vendor/etc/wifi/bcmdhd_4389.cal\"" CONFIG_BCMDHD_4389_CLM_PATH="\"/vendor/etc/wifi/bcmdhd_clm_4389.blob\"" +CONFIG_BCMDHD_4389_MAP_PATH="\"/vendor/etc/wifi/rtecdc_4389.map\"" CONFIG_BROADCOM_WIFI_RESERVED_MEM=y CONFIG_DHD_USE_STATIC_BUF=y CONFIG_DHD_USE_SCHED_SCAN=y @@ -67,6 +69,7 @@ DHDCFLAGS += -DCONFIG_DHD_OF_SUPPORT=$(CONFIG_DHD_OF_SUPPORT) DHDCFLAGS += -DCONFIG_BCMDHD_FW_PATH=$(CONFIG_BCMDHD_FW_PATH) DHDCFLAGS += -DCONFIG_BCMDHD_NVRAM_PATH=$(CONFIG_BCMDHD_NVRAM_PATH) DHDCFLAGS += -DCONFIG_BCMDHD_CLM_PATH=$(CONFIG_BCMDHD_CLM_PATH) +DHDCFLAGS += -DCONFIG_BCMDHD_MAP_PATH=$(CONFIG_BCMDHD_MAP_PATH) DHDCFLAGS += -DCONFIG_BCMDHD_4375b0_FW_PATH=$(CONFIG_BCMDHD_4375b0_FW_PATH) DHDCFLAGS += -DCONFIG_BCMDHD_4375b0_NVRAM_PATH=$(CONFIG_BCMDHD_4375b0_NVRAM_PATH) DHDCFLAGS += -DCONFIG_BCMDHD_4375b0_CLM_PATH=$(CONFIG_BCMDHD_4375b0_CLM_PATH) @@ -80,6 +83,7 @@ DHDCFLAGS += -DCONFIG_BCMDHD_4385_CLM_PATH=$(CONFIG_BCMDHD_4385_CLM_PATH) DHDCFLAGS += -DCONFIG_BCMDHD_4389_FW_PATH=$(CONFIG_BCMDHD_4389_FW_PATH) DHDCFLAGS += -DCONFIG_BCMDHD_4389_NVRAM_PATH=$(CONFIG_BCMDHD_4389_NVRAM_PATH) DHDCFLAGS += -DCONFIG_BCMDHD_4389_CLM_PATH=$(CONFIG_BCMDHD_4389_CLM_PATH) +DHDCFLAGS += -DCONFIG_BCMDHD_4389_MAP_PATH=$(CONFIG_BCMDHD_4389_MAP_PATH) DHDCFLAGS += -DCONFIG_BROADCOM_WIFI_RESERVED_MEM=$(CONFIG_BROADCOM_WIFI_RESERVED_MEM) DHDCFLAGS += -DCONFIG_DHD_USE_STATIC_BUF=$(CONFIG_DHD_USE_STATIC_BUF) DHDCFLAGS += -DCONFIG_DHD_USE_SCHED_SCAN=$(CONFIG_DHD_USE_SCHED_SCAN) diff --git a/dhd_linux.c b/dhd_linux.c index cfa2f27..d447b2e 100644 --- a/dhd_linux.c +++ b/dhd_linux.c @@ -18618,6 +18618,7 @@ dhd_mem_dump(void *handle, void *event_info, u8 event) char memdump_type[DHD_MEMDUMP_TYPE_LONGSTR_LEN]; char pc_fn[DHD_FUNC_STR_LEN] = "\0"; char lr_fn[DHD_FUNC_STR_LEN] = "\0"; + char *map_path = VENDOR_PATH CONFIG_BCMDHD_MAP_PATH; trap_t *tr; #endif /* DHD_COREDUMP */ @@ -18686,8 +18687,13 @@ dhd_mem_dump(void *handle, void *event_info, u8 event) DHD_MEMDUMP_TYPE_LONGSTR_LEN, dhdp->debug_dump_subcmd); if (dhdp->memdump_type == DUMP_TYPE_DONGLE_TRAP && dhdp->dongle_trap_occured == TRUE) { +#ifdef AUTO_CHIP_DETECTION + if (dhd_bus_chip_id(dhdp) == 0x4389) { + map_path = VENDOR_PATH CONFIG_BCMDHD_4389_MAP_PATH; + } +#endif /* AUTO_CHIP_DETECTION */ tr = &dhdp->last_trap_info; - dhd_lookup_map(dhdp->osh, map_file_path, + dhd_lookup_map(dhdp->osh, map_path, ltoh32(tr->epc), pc_fn, ltoh32(tr->r14), lr_fn); sprintf(&memdump_type[strlen(memdump_type)], "_%.79s_%.79s", pc_fn, lr_fn); |