Explorar o código

disp: msm: dsi: prepare resources for cmd transfer at the start of the cmd packet

For batched commands, prepare resources at the start of the command packet and not for the
command with LAST_COMMAND flag set.

Change-Id: Ibbb0d1d1acd4ddeebd07bf9dd6ea1a949edd8d02
Signed-off-by: Satya Rama Aditya Pinapala <[email protected]>
Satya Rama Aditya Pinapala %!s(int64=4) %!d(string=hai) anos
pai
achega
095f5dd58a
Modificáronse 2 ficheiros con 3 adicións e 3 borrados
  1. 1 2
      msm/dsi/dsi_ctrl.c
  2. 2 1
      msm/dsi/dsi_display.c

+ 1 - 2
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);

+ 2 - 1
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;
 
 		/*