Browse Source

Merge "disp: msm: avoid logging event logs by default in sde_dbg_dump"

qctecmdr 4 years ago
parent
commit
79253cb9c2
3 changed files with 10 additions and 7 deletions
  1. 3 4
      msm/sde_dbg.c
  2. 5 2
      msm/sde_dbg.h
  3. 2 1
      msm/sde_dbg_evtlog.c

+ 3 - 4
msm/sde_dbg.c

@@ -22,8 +22,6 @@
 #define SDE_DBG_BASE_MAX		10
 #define SDE_DBG_BASE_MAX		10
 
 
 #define DEFAULT_PANIC		1
 #define DEFAULT_PANIC		1
-#define DEFAULT_REGDUMP		SDE_DBG_DUMP_IN_MEM
-#define DEFAULT_DBGBUS_DUMP	SDE_DBG_DUMP_IN_MEM
 #define DEFAULT_BASE_REG_CNT	DEFAULT_MDSS_HW_BLOCK_SIZE
 #define DEFAULT_BASE_REG_CNT	DEFAULT_MDSS_HW_BLOCK_SIZE
 #define GROUP_BYTES		4
 #define GROUP_BYTES		4
 #define ROW_BYTES		16
 #define ROW_BYTES		16
@@ -2082,6 +2080,7 @@ int sde_dbg_debugfs_register(struct device *dev)
 	debugfs_create_file("recovery_reg", 0400, debugfs_root, NULL, &sde_recovery_reg_fops);
 	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("enable", 0600, debugfs_root, &(sde_dbg_base.evtlog->enable));
+	debugfs_create_u32("evtlog_dump", 0600, debugfs_root, &(sde_dbg_base.evtlog->dump_mode));
 	debugfs_create_u32("panic", 0600, debugfs_root, &sde_dbg_base.panic_on_err);
 	debugfs_create_u32("panic", 0600, debugfs_root, &sde_dbg_base.panic_on_err);
 	debugfs_create_u32("reg_dump", 0600, debugfs_root, &sde_dbg_base.enable_reg_dump);
 	debugfs_create_u32("reg_dump", 0600, debugfs_root, &sde_dbg_base.enable_reg_dump);
 	debugfs_create_u32("dbgbus_dump", 0600, debugfs_root, &sde_dbg_base.enable_dbgbus_dump);
 	debugfs_create_u32("dbgbus_dump", 0600, debugfs_root, &sde_dbg_base.enable_dbgbus_dump);
@@ -2219,8 +2218,8 @@ int sde_dbg_init(struct device *dev)
 	INIT_WORK(&sde_dbg_base.dump_work, _sde_dump_work);
 	INIT_WORK(&sde_dbg_base.dump_work, _sde_dump_work);
 	sde_dbg_base.work_panic = false;
 	sde_dbg_base.work_panic = false;
 	sde_dbg_base.panic_on_err = DEFAULT_PANIC;
 	sde_dbg_base.panic_on_err = DEFAULT_PANIC;
-	sde_dbg_base.enable_reg_dump = DEFAULT_REGDUMP;
-	sde_dbg_base.enable_dbgbus_dump = DEFAULT_DBGBUS_DUMP;
+	sde_dbg_base.enable_reg_dump = SDE_DBG_DEFAULT_DUMP_MODE;
+	sde_dbg_base.enable_dbgbus_dump = SDE_DBG_DEFAULT_DUMP_MODE;
 	sde_dbg_base.dump_blk_mask = SDE_DBG_BUILT_IN_ALL;
 	sde_dbg_base.dump_blk_mask = SDE_DBG_BUILT_IN_ALL;
 	memset(&sde_dbg_base.regbuf, 0, sizeof(sde_dbg_base.regbuf));
 	memset(&sde_dbg_base.regbuf, 0, sizeof(sde_dbg_base.regbuf));
 
 

+ 5 - 2
msm/sde_dbg.h

@@ -72,6 +72,9 @@ enum sde_dbg_dump_context {
 	SDE_DBG_DUMP_CLK_ENABLED_CTX,
 	SDE_DBG_DUMP_CLK_ENABLED_CTX,
 };
 };
 
 
+/* default dump mode for eventlogs, reg-dump & debugbus-dump */
+#define SDE_DBG_DEFAULT_DUMP_MODE	SDE_DBG_DUMP_IN_MEM
+
 /*
 /*
  * Define blocks for register write logging.
  * Define blocks for register write logging.
  */
  */
@@ -100,8 +103,7 @@ enum sde_dbg_dump_context {
  */
  */
 #define SDE_REG_LOG_RSCC    33
 #define SDE_REG_LOG_RSCC    33
 
 
-#define SDE_EVTLOG_DEFAULT_ENABLE (SDE_EVTLOG_CRITICAL | SDE_EVTLOG_IRQ | \
-		SDE_EVTLOG_EXTERNAL)
+#define SDE_EVTLOG_DEFAULT_ENABLE (SDE_EVTLOG_CRITICAL | SDE_EVTLOG_IRQ | SDE_EVTLOG_EXTERNAL)
 
 
 /*
 /*
  * evtlog will print this number of entries when it is called through
  * evtlog will print this number of entries when it is called through
@@ -148,6 +150,7 @@ struct sde_dbg_evtlog {
 	u32 curr;
 	u32 curr;
 	u32 next;
 	u32 next;
 	u32 enable;
 	u32 enable;
+	u32 dump_mode;
 	spinlock_t spin_lock;
 	spinlock_t spin_lock;
 	struct list_head filter_list;
 	struct list_head filter_list;
 };
 };

+ 2 - 1
msm/sde_dbg_evtlog.c

@@ -210,7 +210,7 @@ void sde_evtlog_dump_all(struct sde_dbg_evtlog *evtlog)
 	char buf[SDE_EVTLOG_BUF_MAX];
 	char buf[SDE_EVTLOG_BUF_MAX];
 	bool update_last_entry = true;
 	bool update_last_entry = true;
 
 
-	if (!evtlog)
+	if (!evtlog || !(evtlog->dump_mode & SDE_DBG_DUMP_IN_LOG))
 		return;
 		return;
 
 
 	while (sde_evtlog_dump_to_buffer(evtlog, buf, sizeof(buf),
 	while (sde_evtlog_dump_to_buffer(evtlog, buf, sizeof(buf),
@@ -230,6 +230,7 @@ struct sde_dbg_evtlog *sde_evtlog_init(void)
 
 
 	spin_lock_init(&evtlog->spin_lock);
 	spin_lock_init(&evtlog->spin_lock);
 	evtlog->enable = SDE_EVTLOG_DEFAULT_ENABLE;
 	evtlog->enable = SDE_EVTLOG_DEFAULT_ENABLE;
+	evtlog->dump_mode = SDE_DBG_DEFAULT_DUMP_MODE;
 
 
 	INIT_LIST_HEAD(&evtlog->filter_list);
 	INIT_LIST_HEAD(&evtlog->filter_list);