diff --git a/msm/dsi/dsi_ctrl.c b/msm/dsi/dsi_ctrl.c index 426ae35388..fb20770728 100644 --- a/msm/dsi/dsi_ctrl.c +++ b/msm/dsi/dsi_ctrl.c @@ -1556,7 +1556,6 @@ static int dsi_message_tx(struct dsi_ctrl *dsi_ctrl, struct dsi_cmd_desc *cmd_de if (((dsi_ctrl->cmd_len + length) > 240) && !(*flags & DSI_CTRL_CMD_LAST_COMMAND)) { *flags |= DSI_CTRL_CMD_LAST_COMMAND; SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_CASE1, *flags); - dsi_ctrl_transfer_prepare(dsi_ctrl, *flags); } } @@ -3390,7 +3389,7 @@ int dsi_ctrl_transfer_prepare(struct dsi_ctrl *dsi_ctrl, u32 flags) if (!dsi_ctrl) return -EINVAL; - if (!(flags & DSI_CTRL_CMD_LAST_COMMAND)) + if ((flags & DSI_CTRL_CMD_FETCH_MEMORY) && (dsi_ctrl->cmd_len != 0)) return rc; SDE_EVT32(SDE_EVTLOG_FUNC_ENTRY, dsi_ctrl->cell_index, flags); diff --git a/msm/dsi/dsi_display.c b/msm/dsi/dsi_display.c index 44d43cca9d..fcbc2ae0b0 100644 --- a/msm/dsi/dsi_display.c +++ b/msm/dsi/dsi_display.c @@ -713,7 +713,8 @@ static void dsi_display_set_cmd_tx_ctrl_flags(struct dsi_display *display, } /* Set flags for last command */ - if (!(msg->flags & MIPI_DSI_MSG_BATCH_COMMAND)) + if (!(msg->flags & MIPI_DSI_MSG_BATCH_COMMAND) || (flags & DSI_CTRL_CMD_FIFO_STORE) + || (flags & DSI_CTRL_CMD_NON_EMBEDDED_MODE)) flags |= DSI_CTRL_CMD_LAST_COMMAND; /*