浏览代码

disp: msm: limit reglog to user debug builds

This change limits reglog feature by default to user debug
builds only and provides debug option to selectively disable
reglog for power and perf profiling if required. This change
is needed as reglog is considerably heavy on commit thread
execution.

Change-Id: Id06a63e10fd0c93ba0af6c6f2d1ae36b70c47f67
Signed-off-by: Prabhanjan Kandula <[email protected]>
Prabhanjan Kandula 2 年之前
父节点
当前提交
74b0b24920
共有 2 个文件被更改,包括 7 次插入1 次删除
  1. 1 0
      msm/sde_dbg.c
  2. 6 1
      msm/sde_dbg_evtlog.c

+ 1 - 0
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);

+ 6 - 1
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(&reglog->curr) % SDE_REGLOG_ENTRY);
@@ -250,6 +250,11 @@ struct sde_dbg_reglog *sde_reglog_init(void)
 		return ERR_PTR(-ENOMEM);
 
 	atomic64_set(&reglog->curr, 0);
+#if IS_ENABLED(CONFIG_DEBUG_FS)
+	reglog->enable = true;
+#else
+	reglog->enable = false;
+#endif
 
 	return reglog;
 }