summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRunmin Wang <runminw@codeaurora.org>2016-12-15 17:37:58 -0800
committerRunmin Wang <runminw@codeaurora.org>2016-12-19 17:41:20 -0800
commit1927fe0c7f3a47680ddced6b2f8df44292471ea0 (patch)
tree0506fdf346bab3f882efe8d6b91a38bbc2823e7c
parenteac971fc26c5081af5f776913985c51b7755846a (diff)
soc: qcom: Add support to enable gladiator main error logger only
Add a new Kconfig option to enable only gladaitor main error logger. Change-Id: Iec81712c78fc81346da395c966a7f4c52d18412c Signed-off-by: Runmin Wang <runminw@codeaurora.org> Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
-rw-r--r--drivers/soc/qcom/Kconfig9
-rw-r--r--drivers/soc/qcom/gladiator_erp_v2.c8
2 files changed, 16 insertions, 1 deletions
diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 21733633cb6c..281e83d90970 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -483,6 +483,15 @@ config PANIC_ON_GLADIATOR_ERROR_V2
If unsure, say N.
+config MSM_GLADIATOR_ERROR_V2_MAIN_LOGGER_ONLY
+ depends on MSM_GLADIATOR_ERP_V2
+ bool "QCOM Gladiator error v2 main logger support only"
+ help
+ Gladiator has two error loggers to report error captured.
+ By default, two error loggers will both be enabled.
+ This option enables only the main error logger.
+ If unsure, say no
+
config MSM_GLADIATOR_HANG_DETECT
tristate "MSM Gladiator Hang Detection Support"
help
diff --git a/drivers/soc/qcom/gladiator_erp_v2.c b/drivers/soc/qcom/gladiator_erp_v2.c
index 91b5d39be242..256b1a4fcdd5 100644
--- a/drivers/soc/qcom/gladiator_erp_v2.c
+++ b/drivers/soc/qcom/gladiator_erp_v2.c
@@ -23,6 +23,11 @@
#include <linux/clk.h>
#define MODULE_NAME "gladiator-v2_error_reporting"
+#ifdef CONFIG_MSM_GLADIATOR_ERROR_V2_MAIN_LOGGER_ONLY
+#define OBSERVER_ERROR_ENABLE 0
+#else
+#define OBSERVER_ERROR_ENABLE 1
+#endif
/* Register Offsets */
#define GLADIATOR_ID_COREID 0x0
@@ -733,7 +738,8 @@ static int parse_dt_node(struct platform_device *pdev,
static inline void gladiator_irq_init(void __iomem *gladiator_virt_base)
{
writel_relaxed(1, gladiator_virt_base + GLADIATOR_FAULTEN);
- writel_relaxed(1, gladiator_virt_base + OBSERVER_0_FAULTEN);
+ writel_relaxed(OBSERVER_ERROR_ENABLE,
+ gladiator_virt_base + OBSERVER_0_FAULTEN);
}
#define CCI_LEVEL 2