From 7d4071a7fef18c98bc8cea906592f2a68209fd69 Mon Sep 17 00:00:00 2001 From: Ingrid Gallardo Date: Thu, 8 Jan 2015 15:21:30 -0800 Subject: [PATCH] msm: mdss: debugfs: xlog: enable xlog debug by default This change will enable by default the display driver debugging features in non performance builds to: dump MDSS registers during failures, panic during fatal display driver errors and enable some logging into an internal buffer (to avoid logging overhead). Change-Id: Idc5e2dbd6960ee568f3e18a103c248b20faca548 Signed-off-by: Ingrid Gallardo [cip@codeaurora.org: Resolved Kconfig file location] Signed-off-by: Clarence Ip --- drivers/video/fbdev/msm/Kconfig | 9 +++++++++ drivers/video/fbdev/msm/mdss_debug_xlog.c | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/drivers/video/fbdev/msm/Kconfig b/drivers/video/fbdev/msm/Kconfig index 969f7b125622..a4d5d5e0d637 100644 --- a/drivers/video/fbdev/msm/Kconfig +++ b/drivers/video/fbdev/msm/Kconfig @@ -110,4 +110,13 @@ config FB_MSM_MDSS_MDP3 The MDP3 provides support for an older version display controller included in latest display sub-system, known as MDSS. +config FB_MSM_MDSS_XLOG_DEBUG + depends on FB_MSM_MDSS + bool "Enable MDSS debugging" + ---help--- + The MDSS debugging provides support to enable display debugging + features to: Dump MDSS registers during driver errors, panic + driver during fatal errors and enable some display-driver logging + into an internal buffer (this avoids logging overhead). + endif diff --git a/drivers/video/fbdev/msm/mdss_debug_xlog.c b/drivers/video/fbdev/msm/mdss_debug_xlog.c index c0c249b84acf..766edefb3766 100644 --- a/drivers/video/fbdev/msm/mdss_debug_xlog.c +++ b/drivers/video/fbdev/msm/mdss_debug_xlog.c @@ -21,6 +21,15 @@ #include "mdss_mdp.h" #include "mdss_debug.h" +#ifdef CONFIG_FB_MSM_MDSS_XLOG_DEBUG +#define XLOG_DEFAULT_ENABLE 1 +#else +#define XLOG_DEFAULT_ENABLE 0 +#endif + +#define XLOG_DEFAULT_PANIC 1 +#define XLOG_DEFAULT_REGDUMP 0x2 /* dump in RAM */ + #define MDSS_XLOG_ENTRY 256 #define MDSS_XLOG_MAX_DATA 6 #define MDSS_XLOG_BUF_MAX 512 @@ -486,5 +495,14 @@ int mdss_create_xlog_debug(struct mdss_debug_data *mdd) &mdss_dbg_xlog.panic_on_err); debugfs_create_u32("reg_dump", 0644, mdss_dbg_xlog.xlog, &mdss_dbg_xlog.enable_reg_dump); + + mdss_dbg_xlog.xlog_enable = XLOG_DEFAULT_ENABLE; + mdss_dbg_xlog.panic_on_err = XLOG_DEFAULT_PANIC; + mdss_dbg_xlog.enable_reg_dump = XLOG_DEFAULT_REGDUMP; + + pr_info("xlog_status: enable:%d, panic:%d, dump:%d\n", + mdss_dbg_xlog.xlog_enable, mdss_dbg_xlog.panic_on_err, + mdss_dbg_xlog.enable_reg_dump); + return 0; }