summaryrefslogtreecommitdiff
path: root/drivers/cpuidle
diff options
context:
space:
mode:
authorLingutla Chandrasekhar <clingutla@codeaurora.org>2017-03-30 18:21:48 +0530
committerLingutla Chandrasekhar <clingutla@codeaurora.org>2017-04-20 11:08:55 +0530
commite71ddda03b628594bfcbab43b90aacaec8db2e61 (patch)
treeda9e673b65c3b1a5b0b8062c27a888c6fbea4b79 /drivers/cpuidle
parent3906d34c64e54e0656f23a4ec93062c6d872b4bc (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.c10
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);