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 }
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); }