Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81d15ab5 authored by Rajeev Nandan's avatar Rajeev Nandan
Browse files

disp: msm: dsi: Clear slave dma status only for broadcast command



In case of broadcast, for master controller, DMA_DONE bit gets
cleared in dsi_ctrl_isr and for slave controller it gets cleared
in clear_slave_dma_status. Current implementation checks
DSI_CTRL_CMD_BROADCAST_MASTER flag to decide if it's slave or not.
But, in the case of unicast, this flag is not set, leading to
the unnecessary poll for clear_slave_dma_status for all unicast
command transfers.

Add a check to call clear_slave_dma_status only when the current
command is broadcast on slave controller.

Change-Id: I7156f8c12ec779b41dafc8fc67639814957ee51b
Signed-off-by: default avatarRajeev Nandan <quic_rajeevny@quicinc.com>
parent 20c46f6f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1550,7 +1550,8 @@ static int dsi_message_tx(struct dsi_ctrl *dsi_ctrl,
	if (dsi_ctrl->dma_wait_queued)
		dsi_ctrl_flush_cmd_dma_queue(dsi_ctrl);

	if (!(*flags & DSI_CTRL_CMD_BROADCAST_MASTER))
	if ((*flags & DSI_CTRL_CMD_BROADCAST) &&
			(!(*flags & DSI_CTRL_CMD_BROADCAST_MASTER)))
		dsi_ctrl_clear_slave_dma_status(dsi_ctrl, *flags);

	if (*flags & DSI_CTRL_CMD_NON_EMBEDDED_MODE) {