Merge "msm: mdss: update the recovery sequence for DSI LP_RX_TIMEOUT/BTA_TIMEOUT"
This commit is contained in:
commit
8943ec9a23
1 changed files with 24 additions and 18 deletions
|
@ -778,6 +778,12 @@ static void mdss_dsi_ctl_phy_reset(struct mdss_dsi_ctrl_pdata *ctrl, u32 event)
|
|||
u32 loop = 10, u_dly = 200;
|
||||
pr_debug("%s: MDSS DSI CTRL and PHY reset. ctrl-num = %d\n",
|
||||
__func__, ctrl->ndx);
|
||||
|
||||
if (ctrl->panel_mode == DSI_CMD_MODE) {
|
||||
pr_warn("ctl_phy_reset not applicable for cmd mode\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (event == DSI_EV_DLNx_FIFO_OVERFLOW) {
|
||||
mask = BIT(20); /* clock lane only for overflow recovery */
|
||||
} else if (event == DSI_EV_LP_RX_TIMEOUT) {
|
||||
|
@ -792,15 +798,6 @@ static void mdss_dsi_ctl_phy_reset(struct mdss_dsi_ctrl_pdata *ctrl, u32 event)
|
|||
ctrl0 = mdss_dsi_get_ctrl_by_index(DSI_CTRL_0);
|
||||
ctrl1 = mdss_dsi_get_ctrl_by_index(DSI_CTRL_1);
|
||||
|
||||
if (ctrl0->recovery) {
|
||||
rc = ctrl0->recovery->fxn(ctrl0->recovery->data,
|
||||
MDP_INTF_DSI_VIDEO_FIFO_OVERFLOW);
|
||||
if (rc < 0) {
|
||||
pr_debug("%s: Target is in suspend/shutdown\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Disable PHY contention detection and receive.
|
||||
* Configure the strength ctrl 1 register.
|
||||
|
@ -874,6 +871,15 @@ static void mdss_dsi_ctl_phy_reset(struct mdss_dsi_ctrl_pdata *ctrl, u32 event)
|
|||
MIPI_OUTP(ctrl0->ctrl_base + 0x0ac, ln_ctrl0 & ~mask);
|
||||
MIPI_OUTP(ctrl1->ctrl_base + 0x0ac, ln_ctrl1 & ~mask);
|
||||
|
||||
if (ctrl0->recovery) {
|
||||
rc = ctrl0->recovery->fxn(ctrl0->recovery->data,
|
||||
MDP_INTF_DSI_VIDEO_FIFO_OVERFLOW);
|
||||
if (rc < 0) {
|
||||
pr_debug("%s: Target is in suspend/shutdown\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
}
|
||||
/* Enable Video mode for DSI controller */
|
||||
MIPI_OUTP(ctrl0->ctrl_base + 0x004, data0);
|
||||
MIPI_OUTP(ctrl1->ctrl_base + 0x004, data1);
|
||||
|
@ -890,15 +896,6 @@ static void mdss_dsi_ctl_phy_reset(struct mdss_dsi_ctrl_pdata *ctrl, u32 event)
|
|||
*/
|
||||
udelay(200);
|
||||
} else {
|
||||
if (ctrl->recovery) {
|
||||
rc = ctrl->recovery->fxn(ctrl->recovery->data,
|
||||
MDP_INTF_DSI_VIDEO_FIFO_OVERFLOW);
|
||||
if (rc < 0) {
|
||||
pr_debug("%s: Target is in suspend/shutdown\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
}
|
||||
/* Disable PHY contention detection and receive */
|
||||
MIPI_OUTP((ctrl->phy_io.base) + 0x0188, 0);
|
||||
|
||||
|
@ -951,6 +948,15 @@ static void mdss_dsi_ctl_phy_reset(struct mdss_dsi_ctrl_pdata *ctrl, u32 event)
|
|||
__func__, ln0);
|
||||
MIPI_OUTP(ctrl->ctrl_base + 0x0ac, ln_ctrl0 & ~mask);
|
||||
|
||||
if (ctrl->recovery) {
|
||||
rc = ctrl->recovery->fxn(ctrl->recovery->data,
|
||||
MDP_INTF_DSI_VIDEO_FIFO_OVERFLOW);
|
||||
if (rc < 0) {
|
||||
pr_debug("%s: Target is in suspend/shutdown\n",
|
||||
__func__);
|
||||
return;
|
||||
}
|
||||
}
|
||||
/* Enable Video mode for DSI controller */
|
||||
MIPI_OUTP(ctrl->ctrl_base + 0x004, data0);
|
||||
/* Enable PHY contention detection and receiver */
|
||||
|
|
Loading…
Add table
Reference in a new issue