Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff82ae54 authored by Ujwal Patel's avatar Ujwal Patel
Browse files

msm: mdss: debug: enable debug bus dumping during fatal error



Enable dumping of debug bus when fatal errors are encountered which
issues panic to the system.

Change-Id: I8c14b842bf4fe54d5418b123fe7d5ec1e1e59f8f
Signed-off-by: default avatarUjwal Patel <ujwalp@codeaurora.org>
parent e05629f1
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -2184,7 +2184,9 @@ void mdss_dsi_cmd_mdp_busy(struct mdss_dsi_ctrl_pdata *ctrl)
			if (mdss_dsi_mdp_busy_tout_check(ctrl)) {
				pr_err("%s: timeout error\n", __func__);
				MDSS_XLOG_TOUT_HANDLER("mdp", "dsi0_ctrl",
				"dsi0_phy", "dsi1_ctrl", "dsi1_phy", "panic");
					"dsi0_phy", "dsi1_ctrl", "dsi1_phy",
					"vbif", "dbg_bus", "vbif_dbg_bus",
					"panic");
			}
		}
	}
@@ -2449,8 +2451,9 @@ static int dsi_event_thread(void *data)
						  MDSS_DSI_CLK_OFF);
			}
			mutex_unlock(&ctrl->mutex);
			MDSS_XLOG_TOUT_HANDLER("mdp", "dsi0_ctrl", "dsi0_phy",
				"dsi1_ctrl", "dsi1_phy", "panic");
			MDSS_XLOG_TOUT_HANDLER("mdp", "dsi0_ctrl",
				"dsi0_phy", "dsi1_ctrl", "dsi1_phy",
				"vbif", "dbg_bus", "vbif_dbg_bus", "panic");
		}

		if (todo & DSI_EV_DSI_FIFO_EMPTY)
+4 −2
Original line number Diff line number Diff line
@@ -2896,7 +2896,8 @@ static int mdss_fb_pan_idle(struct msm_fb_data_type *mfd)
		pr_err("%pS: wait for idle timeout commits=%d\n",
				__builtin_return_address(0),
				atomic_read(&mfd->commits_pending));
		MDSS_XLOG_TOUT_HANDLER("mdp");
		MDSS_XLOG_TOUT_HANDLER("mdp", "vbif", "dbg_bus",
			"vbif_dbg_bus");
		ret = -ETIMEDOUT;
	} else if (mfd->shutdown_pending) {
		pr_debug("Shutdown signalled\n");
@@ -2924,7 +2925,8 @@ static int mdss_fb_wait_for_kickoff(struct msm_fb_data_type *mfd)
				__builtin_return_address(0),
				atomic_read(&mfd->kickoff_pending),
				atomic_read(&mfd->commits_pending));
		MDSS_XLOG_TOUT_HANDLER("mdp");
		MDSS_XLOG_TOUT_HANDLER("mdp", "vbif", "dbg_bus",
			"vbif_dbg_bus");
		ret = -ETIMEDOUT;
	} else if (mfd->shutdown_pending) {
		pr_debug("Shutdown signalled\n");
+2 −1
Original line number Diff line number Diff line
@@ -3505,7 +3505,8 @@ int mdss_mdp_wait_for_xin_halt(u32 xin_id, bool is_vbif_nrt)
	if (rc == -ETIMEDOUT) {
		pr_err("VBIF client %d not halting. TIMEDOUT.\n",
			xin_id);
		MDSS_XLOG_TOUT_HANDLER("mdp", "vbif", "vbif_nrt", "panic");
		MDSS_XLOG_TOUT_HANDLER("mdp", "vbif", "vbif_nrt",
			"dbg_bus", "vbif_dbg_bus", "panic");
	} else {
		pr_debug("VBIF client %d is halted\n", xin_id);
	}
+7 −4
Original line number Diff line number Diff line
@@ -1333,14 +1333,17 @@ static int mdss_mdp_cmd_wait4pingpong(struct mdss_mdp_ctl *ctl, void *arg)
	}

	if (rc <= 0) {
		pr_err("%s: wait4pingpong timed out. ctl=%d rc=%d cnt=%d\n",
				__func__,
				ctl->num, rc, ctx->pp_timeout_report_cnt);
		if (ctx->pp_timeout_report_cnt == 0) {
			MDSS_XLOG_TOUT_HANDLER("mdp", "dsi0_ctrl", "dsi0_phy",
				"dsi1_ctrl", "dsi1_phy");
				"dsi1_ctrl", "dsi1_phy", "vbif", "dbg_bus",
				"vbif_dbg_bus", "panic");
		} else if (ctx->pp_timeout_report_cnt == MAX_RECOVERY_TRIALS) {
			WARN(1, "cmd kickoff timed out (%d) ctl=%d\n",
					rc, ctl->num);
			MDSS_XLOG_TOUT_HANDLER("mdp", "dsi0_ctrl", "dsi0_phy",
				"dsi1_ctrl", "dsi1_phy", "panic");
				"dsi1_ctrl", "dsi1_phy", "vbif", "dbg_bus",
				"vbif_dbg_bus", "panic");
			mdss_fb_report_panel_dead(ctl->mfd);
		}
		ctx->pp_timeout_report_cnt++;
+3 −3
Original line number Diff line number Diff line
@@ -1282,7 +1282,7 @@ static void mdss_mdp_pipe_check_stage(struct mdss_mdp_pipe *pipe,
		pr_err("pipe%d mixer:%d pipe->mixer_stage=%d src_split:%d right blend:%d\n",
			pipe->num, mixer->num, pipe->mixer_stage,
			pipe->src_split_req, pipe->is_right_blend);
		MDSS_XLOG_TOUT_HANDLER("mdp", "panic");
		MDSS_XLOG_TOUT_HANDLER("mdp", "dbg_bus", "panic");
	}
}

@@ -1363,7 +1363,7 @@ static bool mdss_mdp_check_pipe_in_use(struct mdss_mdp_pipe *pipe)
				mixer->num, pipe->num,
				mixercfg, stage_off_mask);
			MDSS_XLOG_TOUT_HANDLER("mdp", "vbif", "vbif_nrt",
				"panic");
				"dbg_bus", "vbif_dbg_bus", "panic");
		}

		mixer = ctl->mixer_right;
@@ -1373,7 +1373,7 @@ static bool mdss_mdp_check_pipe_in_use(struct mdss_mdp_pipe *pipe)
				mixer->num, pipe->num,
				mixercfg, stage_off_mask);
			MDSS_XLOG_TOUT_HANDLER("mdp", "vbif", "vbif_nrt",
				"panic");
				"dbg_bus", "vbif_dbg_bus", "panic");
		}
	}