Loading drivers/video/msm/mdss/mdss_dsi.h +1 −0 Original line number Diff line number Diff line Loading @@ -425,6 +425,7 @@ int mdss_dsi_reg_status_check(struct mdss_dsi_ctrl_pdata *ctrl); bool __mdss_dsi_clk_enabled(struct mdss_dsi_ctrl_pdata *ctrl, u8 clk_type); void mdss_dsi_ctrl_setup(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_dln0_phy_err(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_lp_cd_rx(struct mdss_dsi_ctrl_pdata *ctrl); int mdss_dsi_panel_init(struct device_node *node, struct mdss_dsi_ctrl_pdata *ctrl_pdata, Loading drivers/video/msm/mdss/mdss_dsi_host.c +3 −0 Original line number Diff line number Diff line Loading @@ -364,6 +364,9 @@ void mdss_dsi_host_init(struct mdss_panel_data *pdata) dsi_ctrl |= BIT(0); /* enable dsi */ MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x0004, dsi_ctrl); /* enable contention detection for receiving */ mdss_dsi_lp_cd_rx(ctrl_pdata); wmb(); } Loading drivers/video/msm/mdss/msm_mdss_io_8974.c +18 −8 Original line number Diff line number Diff line Loading @@ -81,6 +81,24 @@ void mdss_dsi_phy_disable(struct mdss_dsi_ctrl_pdata *ctrl) wmb(); } /** * mdss_dsi_lp_cd_rx() -- enable LP and CD at receiving * @ctrl: pointer to DSI controller structure * * LP: low power * CD: contention detection */ void mdss_dsi_lp_cd_rx(struct mdss_dsi_ctrl_pdata *ctrl) { struct mdss_dsi_phy_ctrl *pd; pd = &(((ctrl->panel_data).panel_info.mipi).dsi_phy_db); /* Strength ctrl 1, LP Rx + CD Rxcontention detection */ MIPI_OUTP((ctrl->phy_io.base) + 0x0188, pd->strength[1]); wmb(); } static void mdss_dsi_28nm_phy_init(struct mdss_dsi_ctrl_pdata *ctrl_pdata) { struct mdss_dsi_phy_ctrl *pd; Loading Loading @@ -150,10 +168,6 @@ static void mdss_dsi_28nm_phy_init(struct mdss_dsi_ctrl_pdata *ctrl_pdata) MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0170, 0x5f); wmb(); /* Strength ctrl 1 */ MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0188, pd->strength[1]); wmb(); /* 4 lanes + clk lane configuration */ /* lane config n * (0 - 4) & DataPath setup */ for (ln = 0; ln < 5; ln++) { Loading Loading @@ -273,10 +287,6 @@ static void mdss_dsi_20nm_phy_init(struct mdss_dsi_ctrl_pdata *ctrl_pdata) MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0170, 0x5f); wmb(); /* Strength ctrl 1 */ MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0188, pd->strength[1]); wmb(); /* MMSS_DSI_0_PHY_DSIPHY_CTRL_0 */ MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0170, 0x7f); wmb(); Loading Loading
drivers/video/msm/mdss/mdss_dsi.h +1 −0 Original line number Diff line number Diff line Loading @@ -425,6 +425,7 @@ int mdss_dsi_reg_status_check(struct mdss_dsi_ctrl_pdata *ctrl); bool __mdss_dsi_clk_enabled(struct mdss_dsi_ctrl_pdata *ctrl, u8 clk_type); void mdss_dsi_ctrl_setup(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_dln0_phy_err(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_lp_cd_rx(struct mdss_dsi_ctrl_pdata *ctrl); int mdss_dsi_panel_init(struct device_node *node, struct mdss_dsi_ctrl_pdata *ctrl_pdata, Loading
drivers/video/msm/mdss/mdss_dsi_host.c +3 −0 Original line number Diff line number Diff line Loading @@ -364,6 +364,9 @@ void mdss_dsi_host_init(struct mdss_panel_data *pdata) dsi_ctrl |= BIT(0); /* enable dsi */ MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x0004, dsi_ctrl); /* enable contention detection for receiving */ mdss_dsi_lp_cd_rx(ctrl_pdata); wmb(); } Loading
drivers/video/msm/mdss/msm_mdss_io_8974.c +18 −8 Original line number Diff line number Diff line Loading @@ -81,6 +81,24 @@ void mdss_dsi_phy_disable(struct mdss_dsi_ctrl_pdata *ctrl) wmb(); } /** * mdss_dsi_lp_cd_rx() -- enable LP and CD at receiving * @ctrl: pointer to DSI controller structure * * LP: low power * CD: contention detection */ void mdss_dsi_lp_cd_rx(struct mdss_dsi_ctrl_pdata *ctrl) { struct mdss_dsi_phy_ctrl *pd; pd = &(((ctrl->panel_data).panel_info.mipi).dsi_phy_db); /* Strength ctrl 1, LP Rx + CD Rxcontention detection */ MIPI_OUTP((ctrl->phy_io.base) + 0x0188, pd->strength[1]); wmb(); } static void mdss_dsi_28nm_phy_init(struct mdss_dsi_ctrl_pdata *ctrl_pdata) { struct mdss_dsi_phy_ctrl *pd; Loading Loading @@ -150,10 +168,6 @@ static void mdss_dsi_28nm_phy_init(struct mdss_dsi_ctrl_pdata *ctrl_pdata) MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0170, 0x5f); wmb(); /* Strength ctrl 1 */ MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0188, pd->strength[1]); wmb(); /* 4 lanes + clk lane configuration */ /* lane config n * (0 - 4) & DataPath setup */ for (ln = 0; ln < 5; ln++) { Loading Loading @@ -273,10 +287,6 @@ static void mdss_dsi_20nm_phy_init(struct mdss_dsi_ctrl_pdata *ctrl_pdata) MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0170, 0x5f); wmb(); /* Strength ctrl 1 */ MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0188, pd->strength[1]); wmb(); /* MMSS_DSI_0_PHY_DSIPHY_CTRL_0 */ MIPI_OUTP((ctrl_pdata->phy_io.base) + 0x0170, 0x7f); wmb(); Loading