|
@@ -62,6 +62,7 @@
|
|
|
#define FW_ASSERT_TIMEOUT 5000
|
|
|
#define CNSS_EVENT_PENDING 2989
|
|
|
#define POWER_RESET_MIN_DELAY_MS 100
|
|
|
+#define MAX_NAME_LEN 12
|
|
|
|
|
|
#define CNSS_QUIRKS_DEFAULT 0
|
|
|
#ifdef CONFIG_CNSS_EMULATION
|
|
@@ -3775,7 +3776,6 @@ void cnss_unregister_ramdump(struct cnss_plat_data *plat_priv)
|
|
|
}
|
|
|
#endif /* CONFIG_QCOM_MEMORY_DUMP_V2 */
|
|
|
|
|
|
-#if IS_ENABLED(CONFIG_QCOM_MINIDUMP)
|
|
|
int cnss_va_to_pa(struct device *dev, size_t size, void *va, dma_addr_t dma,
|
|
|
phys_addr_t *pa, unsigned long attrs)
|
|
|
{
|
|
@@ -3795,6 +3795,7 @@ int cnss_va_to_pa(struct device *dev, size_t size, void *va, dma_addr_t dma,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+#if IS_ENABLED(CONFIG_QCOM_MINIDUMP)
|
|
|
int cnss_minidump_add_region(struct cnss_plat_data *plat_priv,
|
|
|
enum cnss_fw_dump_type type, int seg_no,
|
|
|
void *va, phys_addr_t pa, size_t size)
|
|
@@ -3876,16 +3877,29 @@ int cnss_minidump_remove_region(struct cnss_plat_data *plat_priv,
|
|
|
return ret;
|
|
|
}
|
|
|
#else
|
|
|
-int cnss_va_to_pa(struct device *dev, size_t size, void *va, dma_addr_t dma,
|
|
|
- phys_addr_t *pa, unsigned long attrs)
|
|
|
-{
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
int cnss_minidump_add_region(struct cnss_plat_data *plat_priv,
|
|
|
enum cnss_fw_dump_type type, int seg_no,
|
|
|
void *va, phys_addr_t pa, size_t size)
|
|
|
{
|
|
|
+ char name[MAX_NAME_LEN];
|
|
|
+
|
|
|
+ switch (type) {
|
|
|
+ case CNSS_FW_IMAGE:
|
|
|
+ snprintf(name, MAX_NAME_LEN, "FBC_%X", seg_no);
|
|
|
+ break;
|
|
|
+ case CNSS_FW_RDDM:
|
|
|
+ snprintf(name, MAX_NAME_LEN, "RDDM_%X", seg_no);
|
|
|
+ break;
|
|
|
+ case CNSS_FW_REMOTE_HEAP:
|
|
|
+ snprintf(name, MAX_NAME_LEN, "RHEAP_%X", seg_no);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ cnss_pr_err("Unknown dump type ID: %d\n", type);
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
+
|
|
|
+ cnss_pr_dbg("Dump region: %s, va: %pK, pa: %pa, size: 0x%zx\n",
|
|
|
+ name, va, &pa, size);
|
|
|
return 0;
|
|
|
}
|
|
|
|