void mdss_dsi_cmd_bta_sw_trigger(struct mdss_panel_data *pdata)
{
	u32 status;
	int timeout_us = 10000;
	struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;

	if (pdata == NULL) {
		pr_err("%s: Invalid input data\n", __func__);
		return;
	}

	ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata,
				panel_data);

	MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x098, 0x01);	
	wmb();

	
	if (readl_poll_timeout(((ctrl_pdata->ctrl_base) + 0x0008),
				status, ((status & 0x0010) == 0),
				0, timeout_us))
		pr_info("%s: DSI status=%x failed\n", __func__, status);

	mdss_dsi_ack_err_status(ctrl_pdata);

	pr_debug("%s: BTA done, status = %d\n", __func__, status);
}
void mdss_dsi_error(struct mdss_dsi_ctrl_pdata *ctrl)
{

	/* disable dsi error interrupt */
	mdss_dsi_err_intr_ctrl(ctrl, DSI_INTR_ERROR_MASK, 0);

	/* DSI_ERR_INT_MASK0 */
	mdss_dsi_clk_status(ctrl);	/* Mask0, 0x10000000 */
	mdss_dsi_fifo_status(ctrl);	/* mask0, 0x133d00 */
	mdss_dsi_ack_err_status(ctrl);	/* mask0, 0x01f */
	mdss_dsi_timeout_status(ctrl);	/* mask0, 0x0e0 */
	mdss_dsi_status(ctrl);		/* mask0, 0xc0100 */
	mdss_dsi_dln0_phy_err(ctrl);	/* mask0, 0x3e00000 */

	dsi_send_events(ctrl, DSI_EV_MDP_BUSY_RELEASE);
#if defined(CONFIG_F_SKYDISP_EF63_SS)   //ejkim77_debug dump
#ifdef F_WA_WATCHDOG_DURING_BOOTUP
	if(ctrl->octa_blck_set && !ctrl->manufacture_id)
#endif	
	{
	       dumpreg();
		BUG_ON(1);
	}
#endif	
}
Beispiel #3
0
void mdss_dsi_error(unsigned char *dsi_base)
{
	/* DSI_ERR_INT_MASK0 */
	mdss_dsi_ack_err_status(dsi_base);	/* mask0, 0x01f */
	mdss_dsi_timeout_status(dsi_base);	/* mask0, 0x0e0 */
	mdss_dsi_fifo_status(dsi_base);		/* mask0, 0x133d00 */
	mdss_dsi_status(dsi_base);		/* mask0, 0xc0100 */
	mdss_dsi_dln0_phy_err(dsi_base);	/* mask0, 0x3e00000 */
}
void mdss_dsi_error(struct mdss_dsi_ctrl_pdata *ctrl)
{
	unsigned char *base;

	base = ctrl->ctrl_base;

	/* DSI_ERR_INT_MASK0 */
	mdss_dsi_ack_err_status(base);	/* mask0, 0x01f */
	mdss_dsi_timeout_status(base);	/* mask0, 0x0e0 */
	mdss_dsi_fifo_status(base);		/* mask0, 0x133d00 */
	mdss_dsi_status(base);		/* mask0, 0xc0100 */
	mdss_dsi_dln0_phy_err(base);	/* mask0, 0x3e00000 */
}
void mdss_dsi_error(struct mdss_dsi_ctrl_pdata *ctrl)
{

	/* disable dsi error interrupt */
	mdss_dsi_err_intr_ctrl(ctrl, DSI_INTR_ERROR_MASK, 0);
	/* DSI_ERR_INT_MASK0 */
	mdss_dsi_clk_status(ctrl);	/* Mask0, 0x10000000 */
	mdss_dsi_fifo_status(ctrl);	/* mask0, 0x133d00 */
	mdss_dsi_ack_err_status(ctrl);	/* mask0, 0x01f */
	mdss_dsi_timeout_status(ctrl);	/* mask0, 0x0e0 */
	mdss_dsi_status(ctrl);		/* mask0, 0xc0100 */
	mdss_dsi_dln0_phy_err(ctrl);	/* mask0, 0x3e00000 */

	dsi_send_events(ctrl, DSI_EV_MDP_BUSY_RELEASE);
}
void mdss_dsi_error(struct mdss_dsi_ctrl_pdata *ctrl)
{

	
	mdss_dsi_err_intr_ctrl(ctrl, DSI_INTR_ERROR_MASK, 0);

	
	mdss_dsi_clk_status(ctrl);	
	mdss_dsi_fifo_status(ctrl);	
	mdss_dsi_ack_err_status(ctrl);	
	mdss_dsi_timeout_status(ctrl);	
	mdss_dsi_status(ctrl);		
	mdss_dsi_dln0_phy_err(ctrl);	

	dsi_send_events(ctrl, DSI_EV_MDP_BUSY_RELEASE);
}