diff options
author | Lingutla Chandrasekhar <clingutla@codeaurora.org> | 2017-03-30 18:21:48 +0530 |
---|---|---|
committer | Lingutla Chandrasekhar <clingutla@codeaurora.org> | 2017-04-20 11:08:55 +0530 |
commit | e71ddda03b628594bfcbab43b90aacaec8db2e61 (patch) | |
tree | da9e673b65c3b1a5b0b8062c27a888c6fbea4b79 /drivers/cpuidle | |
parent | 3906d34c64e54e0656f23a4ec93062c6d872b4bc (diff) |
drivers: cpuidle: lpm-levels: add lpm_debug to Minidump
Minidump only collect parts of memory which are registered
to its table. So add lpm_debug buffer to Minidump table.
Change-Id: I8635542411a560a88530ffbbfe033cd48d3507dc
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
Diffstat (limited to 'drivers/cpuidle')
-rw-r--r-- | drivers/cpuidle/lpm-levels.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/cpuidle/lpm-levels.c b/drivers/cpuidle/lpm-levels.c index 37535a72e066..4ba8f12f4b19 100644 --- a/drivers/cpuidle/lpm-levels.c +++ b/drivers/cpuidle/lpm-levels.c @@ -43,6 +43,7 @@ #include <soc/qcom/event_timer.h> #include <soc/qcom/lpm-stats.h> #include <soc/qcom/jtag.h> +#include <soc/qcom/minidump.h> #include <asm/cputype.h> #include <asm/arch_timer.h> #include <asm/cacheflush.h> @@ -1854,6 +1855,7 @@ static int lpm_probe(struct platform_device *pdev) int ret; int size; struct kobject *module_kobj = NULL; + struct md_region md_entry; get_online_cpus(); lpm_root_node = lpm_of_parse_cluster(pdev); @@ -1914,6 +1916,14 @@ static int lpm_probe(struct platform_device *pdev) goto failed; } + /* Add lpm_debug to Minidump*/ + strlcpy(md_entry.name, "KLPMDEBUG", sizeof(md_entry.name)); + md_entry.virt_addr = (uintptr_t)lpm_debug; + md_entry.phys_addr = lpm_debug_phys; + md_entry.size = size; + if (msm_minidump_add_region(&md_entry)) + pr_info("Failed to add lpm_debug in Minidump\n"); + return 0; failed: free_cluster_node(lpm_root_node); |