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

Commit a2c64f9c authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: debug: remove 8994 debug bus support to reduce code size"

parents 23cda082 ea9f5112
Loading
Loading
Loading
Loading
+19 −18
Original line number Diff line number Diff line
@@ -30,11 +30,11 @@

#define XLOG_DEFAULT_PANIC 1
#define XLOG_DEFAULT_REGDUMP 0x2 /* dump in RAM */
#define XLOG_DEFAULT_DBGBUSDUMP 0x3 /* dump in LOG & RAM */
#define XLOG_DEFAULT_DBGBUSDUMP 0x2 /* dump in RAM */
#define XLOG_DEFAULT_VBIF_DBGBUSDUMP 0x2 /* dump in RAM */

#define MDSS_XLOG_ENTRY	256
#define MDSS_XLOG_MAX_DATA 6
#define MDSS_XLOG_ENTRY	1024
#define MDSS_XLOG_MAX_DATA 15
#define MDSS_XLOG_BUF_MAX 512
#define MDSS_XLOG_BUF_ALIGN 32

@@ -233,6 +233,8 @@ static void mdss_dump_debug_bus(u32 bus_dump_flag,
	in_log = (bus_dump_flag & MDSS_DBG_DUMP_IN_LOG);
	in_mem = (bus_dump_flag & MDSS_DBG_DUMP_IN_MEM);

	pr_info("======== Debug bus DUMP =========\n");

	if (in_mem) {
		if (!(*dump_mem))
			*dump_mem = dma_alloc_coherent(&mdata->pdev->dev,
@@ -240,16 +242,14 @@ static void mdss_dump_debug_bus(u32 bus_dump_flag,

		if (*dump_mem) {
			dump_addr = *dump_mem;
			pr_info("bus dump_addr:%p size:%d\n",
				dump_addr, list_size);
			pr_info("%s: start_addr:0x%p end_addr:0x%p\n",
				__func__, dump_addr, dump_addr + list_size);
		} else {
			in_mem = false;
			pr_err("dump_mem: allocation fails\n");
		}
	}

	pr_info("======== Debug bus DUMP =========\n");

	mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON);
	for (i = 0; i < mdata->dbg_bus_size; i++) {
		head = mdata->dbg_bus + i;
@@ -356,8 +356,8 @@ static void mdss_dump_vbif_debug_bus(u32 bus_dump_flag,

		if (*dump_mem) {
			dump_addr = *dump_mem;
			pr_info("bus dump_addr:%p size:%d\n",
				dump_addr, list_size);
			pr_info("%s: start_addr:0x%p end_addr:0x%p\n",
				__func__, dump_addr, dump_addr + list_size);
		} else {
			in_mem = false;
			pr_err("dump_mem: allocation fails\n");
@@ -389,7 +389,7 @@ static void mdss_dump_vbif_debug_bus(u32 bus_dump_flag,
	pr_info("========End VBIF Debug bus=========\n");
}

static void mdss_dump_reg(u32 reg_dump_flag,
static void mdss_dump_reg(const char *dump_name, u32 reg_dump_flag,
	char *addr, int len, u32 **dump_mem)
{
	struct mdss_data_type *mdata = mdss_mdp_get_mdata();
@@ -401,8 +401,8 @@ static void mdss_dump_reg(u32 reg_dump_flag,
	in_log = (reg_dump_flag & MDSS_DBG_DUMP_IN_LOG);
	in_mem = (reg_dump_flag & MDSS_DBG_DUMP_IN_MEM);

	pr_info("reg_dump_flag=%d in_log=%d in_mem=%d\n", reg_dump_flag, in_log,
		in_mem);
	pr_debug("reg_dump_flag=%d in_log=%d in_mem=%d\n",
		reg_dump_flag, in_log, in_mem);

	if (len % 16)
		len += 16;
@@ -415,8 +415,8 @@ static void mdss_dump_reg(u32 reg_dump_flag,

		if (*dump_mem) {
			dump_addr = *dump_mem;
			pr_info("start_addr:%p end_addr:%p reg_addr=%p\n",
				dump_addr, dump_addr + (u32)len * 16,
			pr_info("%s: start_addr:0x%p end_addr:0x%p reg_addr=0x%p\n",
				dump_name, dump_addr, dump_addr + (u32)len * 16,
				addr);
		} else {
			in_mem = false;
@@ -470,12 +470,12 @@ static void mdss_dump_reg_by_ranges(struct mdss_debug_base *dbg,
			len = get_dump_range(&xlog_node->offset,
				dbg->max_offset);
			addr = dbg->base + xlog_node->offset.start;
			pr_info("%s: range_base=0x%p start=0x%x end=0x%x\n",
			pr_debug("%s: range_base=0x%p start=0x%x end=0x%x\n",
				xlog_node->range_name,
				addr, xlog_node->offset.start,
				xlog_node->offset.end);
			mdss_dump_reg(reg_dump_flag, addr, len,
				&xlog_node->reg_dump);
			mdss_dump_reg((const char *)xlog_node->range_name,
				reg_dump_flag, addr, len, &xlog_node->reg_dump);
		}
	} else {
		/* If there is no list to dump ranges, dump all registers */
@@ -483,7 +483,8 @@ static void mdss_dump_reg_by_ranges(struct mdss_debug_base *dbg,
		pr_info("base:0x%p len:0x%zu\n", dbg->base, dbg->max_offset);
		addr = dbg->base;
		len = dbg->max_offset;
		mdss_dump_reg(reg_dump_flag, addr, len, &dbg->reg_dump);
		mdss_dump_reg((const char *)dbg->name, reg_dump_flag, addr,
			len, &dbg->reg_dump);
	}
}

+6 −3
Original line number Diff line number Diff line
@@ -2208,7 +2208,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");
			}
		}
	}
@@ -2473,8 +2475,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
@@ -2901,7 +2901,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");
@@ -2929,7 +2930,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);
	}
+0 −106
Original line number Diff line number Diff line
@@ -662,107 +662,6 @@ static struct debug_bus dbg_bus_8996[] = {
	{ 0x418, 74, 0 },
};

static struct debug_bus dbg_bus_8994[] = {
	/* VIG QSEED */
	{ 0x298, 4, 0},
	{ 0x298, 4, 1},
	{ 0x298, 24, 0},
	{ 0x298, 24, 1},
	{ 0x298, 42, 0},
	{ 0x298, 42, 1},
	{ 0x298, 88, 0},
	{ 0x298, 88, 1},
	/* RGB SCALE */
	{ 0x298, 12, 0},
	{ 0x298, 12, 1},
	{ 0x298, 34, 0},
	{ 0x298, 34, 1},
	{ 0x298, 52, 0},
	{ 0x298, 52, 1},
	{ 0x298, 96, 0},
	{ 0x298, 96, 1},
	/* VIG CSC */
	{ 0x298, 5, 0},
	{ 0x298, 5, 1},
	{ 0x298, 25, 0},
	{ 0x298, 25, 1},
	{ 0x298, 43, 0},
	{ 0x298, 43, 1},
	{ 0x298, 89, 0},
	{ 0x298, 89, 1},
	/* VIG SPA */
	{ 0x298, 6, 0},
	{ 0x298, 26, 0},
	{ 0x298, 44, 0},
	{ 0x298, 90, 0},
	/* DSPP_PA */
	{ 0x348, 13, 0},
	{ 0x348, 19, 0},
	{ 0x348, 25, 0},
	{ 0x348, 3, 0},
	/* VIG ISC */
	{ 0x298, 7, 0},
	{ 0x298, 7, 1},
	{ 0x298, 7, 3},
	{ 0x298, 27, 0},
	{ 0x298, 27, 1},
	{ 0x298, 27, 3},
	{ 0x298, 45, 0},
	{ 0x298, 45, 1},
	{ 0x298, 45, 3},
	{ 0x298, 91, 0},
	{ 0x298, 91, 1},
	{ 0x298, 91, 3},
	/* RGB IGC */
	{ 0x298, 13, 0},
	{ 0x298, 13, 1},
	{ 0x298, 13, 3},
	{ 0x298, 35, 0},
	{ 0x298, 35, 1},
	{ 0x298, 35, 3},
	{ 0x298, 53, 0},
	{ 0x298, 53, 1},
	{ 0x298, 53, 3},
	{ 0x298, 97, 0},
	{ 0x298, 97, 1},
	{ 0x298, 97, 3},
	/* DMA IGC */
	{ 0x298, 58, 0},
	{ 0x298, 58, 1},
	{ 0x298, 58, 3},
	{ 0x298, 65, 0},
	{ 0x298, 65, 1},
	{ 0x298, 65, 3},
	/* DSPP IGC */
	{ 0x348, 14, 0},
	{ 0x348, 14, 1},
	{ 0x348, 14, 3},
	{ 0x348, 20, 0},
	{ 0x348, 20, 1},
	{ 0x348, 20, 3},
	{ 0x348, 26, 0},
	{ 0x348, 26, 1},
	{ 0x348, 26, 3},
	{ 0x348, 4, 0},
	{ 0x348, 4, 1},
	{ 0x348, 4, 3},
	/* DSPP DITHER */
	{ 0x348, 18, 1},
	{ 0x348, 24, 1},
	{ 0x348, 30, 1},
	{ 0x348, 8, 1},
	/*PPB 0*/
	{ 0x348, 31, 0},
	{ 0x348, 33, 0},
	{ 0x348, 35, 0},
	{ 0x348, 42, 0},
	/*PPB 1*/
	{ 0x348, 32, 0},
	{ 0x348, 34, 0},
	{ 0x348, 36, 0},
	{ 0x348, 43, 0},
};

static struct vbif_debug_bus vbif_dbg_bus_8996[] = {
	{0x214, 0x21c, 16, 2, 0x10}, /* arb clients */
	{0x214, 0x21c, 0, 14, 0x13}, /* xin blocks - axi side */
@@ -781,11 +680,6 @@ void mdss_mdp_hw_rev_debug_caps_init(struct mdss_data_type *mdata)
	mdata->dbg_bus_size = 0;

	switch (mdata->mdp_rev) {
	case MDSS_MDP_HW_REV_105:
	case MDSS_MDP_HW_REV_109:
		mdata->dbg_bus = dbg_bus_8994;
		mdata->dbg_bus_size = ARRAY_SIZE(dbg_bus_8994);
		break;
	case MDSS_MDP_HW_REV_107:
	case MDSS_MDP_HW_REV_107_1:
	case MDSS_MDP_HW_REV_107_2:
Loading