diff --git a/msm/sde_dbg.c b/msm/sde_dbg.c index 9e84dc5fe7..363653220a 100644 --- a/msm/sde_dbg.c +++ b/msm/sde_dbg.c @@ -2528,6 +2528,7 @@ int sde_dbg_debugfs_register(struct device *dev) debugfs_create_file("recovery_reg", 0400, debugfs_root, NULL, &sde_recovery_reg_fops); debugfs_create_u32("enable", 0600, debugfs_root, &(sde_dbg_base.evtlog->enable)); + debugfs_create_u32("reglog_enable", 0600, debugfs_root, &(sde_dbg_base.reglog->enable)); debugfs_create_u32("panic", 0600, debugfs_root, &sde_dbg_base.panic_on_err); debugfs_create_u32("dump_mode", 0600, debugfs_root, &sde_dbg_base.dump_option); debugfs_create_u64("reg_dump_blk_mask", 0600, debugfs_root, &sde_dbg_base.dump_blk_mask); diff --git a/msm/sde_dbg_evtlog.c b/msm/sde_dbg_evtlog.c index 8459693029..4ae8a9af50 100644 --- a/msm/sde_dbg_evtlog.c +++ b/msm/sde_dbg_evtlog.c @@ -100,7 +100,7 @@ void sde_reglog_log(u8 blk_id, u32 val, u32 addr) struct sde_dbg_reglog *reglog = sde_dbg_base_reglog; int index; - if (!reglog) + if (!reglog || !reglog->enable) return; index = abs(atomic64_inc_return(®log->curr) % SDE_REGLOG_ENTRY); @@ -250,6 +250,11 @@ struct sde_dbg_reglog *sde_reglog_init(void) return ERR_PTR(-ENOMEM); atomic64_set(®log->curr, 0); +#if IS_ENABLED(CONFIG_DEBUG_FS) + reglog->enable = true; +#else + reglog->enable = false; +#endif return reglog; }