Loading drivers/video/msm/mdss/dsi_host_v2.c +29 −14 Original line number Diff line number Diff line Loading @@ -546,7 +546,12 @@ int msm_dsi_cmds_tx(struct mdss_panel_data *pdata, cm = cmds; for (i = 0; i < cnt; i++) { dsi_buf_init(tp); dsi_cmd_dma_add(tp, cm); rc = dsi_cmd_dma_add(tp, cm); if (!rc) { pr_err("%s: dsi_cmd_dma_add fail\n", __func__); rc = -EINVAL; break; } rc = msm_dsi_cmd_dma_tx(tp); if (IS_ERR_VALUE(rc)) { pr_err("%s: failed to call cmd_dma_tx\n", __func__); Loading Loading @@ -634,27 +639,35 @@ int msm_dsi_cmds_rx(struct mdss_panel_data *pdata, pkt_size = len; max_pktsize[0] = pkt_size; dsi_buf_init(tp); dsi_cmd_dma_add(tp, pkt_size_cmd); rc = dsi_cmd_dma_add(tp, pkt_size_cmd); if (!rc) { pr_err("%s: dsi_cmd_dma_add failed\n", __func__); rp->len = 0; goto msm_dsi_cmds_rx_err; } rc = msm_dsi_cmd_dma_tx(tp); if (IS_ERR_VALUE(rc)) { msm_dsi_disable_irq(); pr_err("%s: dma_tx failed\n", __func__); pr_err("%s: msm_dsi_cmd_dma_tx failed\n", __func__); rp->len = 0; goto end; goto msm_dsi_cmds_rx_err; } pr_debug("%s: Max packet size sent\n", __func__); } dsi_buf_init(tp); dsi_cmd_dma_add(tp, cmds); rc = dsi_cmd_dma_add(tp, cmds); if (!rc) { pr_err("%s: dsi_cmd_dma_add failed\n", __func__); rp->len = 0; goto msm_dsi_cmds_rx_err; } /* transmit read comamnd to client */ msm_dsi_cmd_dma_tx(tp); rc = msm_dsi_cmd_dma_tx(tp); if (IS_ERR_VALUE(rc)) { msm_dsi_disable_irq(); pr_err("%s: dma_tx failed\n", __func__); pr_err("%s: msm_dsi_cmd_dma_tx failed\n", __func__); rp->len = 0; goto end; goto msm_dsi_cmds_rx_err; } /* * once cmd_dma_done interrupt received, Loading @@ -672,8 +685,6 @@ int msm_dsi_cmds_rx(struct mdss_panel_data *pdata, msm_dsi_cmd_dma_rx(rp, cnt); msm_dsi_disable_irq(); if (pdata->panel_info.mipi.no_max_pkt_size) { /* * remove extra 2 bytes from previous Loading @@ -689,6 +700,7 @@ int msm_dsi_cmds_rx(struct mdss_panel_data *pdata, switch (cmd) { case DTYPE_ACK_ERR_RESP: pr_debug("%s: rx ACK_ERR_PACLAGE\n", __func__); rp->len = 0; break; case DTYPE_GEN_READ1_RESP: case DTYPE_DCS_READ1_RESP: Loading @@ -705,14 +717,17 @@ int msm_dsi_cmds_rx(struct mdss_panel_data *pdata, rp->len -= diff; /* align bytes */ break; default: pr_debug("%s: Unknown cmd received\n", __func__); pr_warn("%s: Unknown cmd received\n", __func__); rp->len = 0; break; } if (video_mode) MIPI_OUTP(ctrl_base + DSI_CTRL, dsi_ctrl); /* restore */ end: msm_dsi_cmds_rx_err: msm_dsi_disable_irq(); return rp->len; } Loading Loading
drivers/video/msm/mdss/dsi_host_v2.c +29 −14 Original line number Diff line number Diff line Loading @@ -546,7 +546,12 @@ int msm_dsi_cmds_tx(struct mdss_panel_data *pdata, cm = cmds; for (i = 0; i < cnt; i++) { dsi_buf_init(tp); dsi_cmd_dma_add(tp, cm); rc = dsi_cmd_dma_add(tp, cm); if (!rc) { pr_err("%s: dsi_cmd_dma_add fail\n", __func__); rc = -EINVAL; break; } rc = msm_dsi_cmd_dma_tx(tp); if (IS_ERR_VALUE(rc)) { pr_err("%s: failed to call cmd_dma_tx\n", __func__); Loading Loading @@ -634,27 +639,35 @@ int msm_dsi_cmds_rx(struct mdss_panel_data *pdata, pkt_size = len; max_pktsize[0] = pkt_size; dsi_buf_init(tp); dsi_cmd_dma_add(tp, pkt_size_cmd); rc = dsi_cmd_dma_add(tp, pkt_size_cmd); if (!rc) { pr_err("%s: dsi_cmd_dma_add failed\n", __func__); rp->len = 0; goto msm_dsi_cmds_rx_err; } rc = msm_dsi_cmd_dma_tx(tp); if (IS_ERR_VALUE(rc)) { msm_dsi_disable_irq(); pr_err("%s: dma_tx failed\n", __func__); pr_err("%s: msm_dsi_cmd_dma_tx failed\n", __func__); rp->len = 0; goto end; goto msm_dsi_cmds_rx_err; } pr_debug("%s: Max packet size sent\n", __func__); } dsi_buf_init(tp); dsi_cmd_dma_add(tp, cmds); rc = dsi_cmd_dma_add(tp, cmds); if (!rc) { pr_err("%s: dsi_cmd_dma_add failed\n", __func__); rp->len = 0; goto msm_dsi_cmds_rx_err; } /* transmit read comamnd to client */ msm_dsi_cmd_dma_tx(tp); rc = msm_dsi_cmd_dma_tx(tp); if (IS_ERR_VALUE(rc)) { msm_dsi_disable_irq(); pr_err("%s: dma_tx failed\n", __func__); pr_err("%s: msm_dsi_cmd_dma_tx failed\n", __func__); rp->len = 0; goto end; goto msm_dsi_cmds_rx_err; } /* * once cmd_dma_done interrupt received, Loading @@ -672,8 +685,6 @@ int msm_dsi_cmds_rx(struct mdss_panel_data *pdata, msm_dsi_cmd_dma_rx(rp, cnt); msm_dsi_disable_irq(); if (pdata->panel_info.mipi.no_max_pkt_size) { /* * remove extra 2 bytes from previous Loading @@ -689,6 +700,7 @@ int msm_dsi_cmds_rx(struct mdss_panel_data *pdata, switch (cmd) { case DTYPE_ACK_ERR_RESP: pr_debug("%s: rx ACK_ERR_PACLAGE\n", __func__); rp->len = 0; break; case DTYPE_GEN_READ1_RESP: case DTYPE_DCS_READ1_RESP: Loading @@ -705,14 +717,17 @@ int msm_dsi_cmds_rx(struct mdss_panel_data *pdata, rp->len -= diff; /* align bytes */ break; default: pr_debug("%s: Unknown cmd received\n", __func__); pr_warn("%s: Unknown cmd received\n", __func__); rp->len = 0; break; } if (video_mode) MIPI_OUTP(ctrl_base + DSI_CTRL, dsi_ctrl); /* restore */ end: msm_dsi_cmds_rx_err: msm_dsi_disable_irq(); return rp->len; } Loading