disp: msm: dsi: Reset DMA trigger mux when initializing DSI_TRIG_CTRL

When broadcast command is sent with command DMA window scheduling enabled,
DSI_TRIG_CTRL.COMMAND_MODE_DMA_TRG_MUX does not get reset after command
transfer. Due to this next unicast command on slave fails.
This change resets DMA trigger mux during DSI_TRIG_CTRL initialization.

Change-Id: I74503d82ab1cb6ca4d61a9d14f2b3cd2c3936ea7
Signed-off-by: Kashish Jain <quic_kashjain@quicinc.com>
This commit is contained in:
Kashish Jain
2022-03-22 12:37:20 +05:30
committed by Gerrit - the friendly Code Review server
parent d0b6f9857c
commit b819a9311d
2 changed files with 4 additions and 2 deletions

View File

@@ -253,7 +253,8 @@ void dsi_ctrl_hw_22_reset_trigger_controls(struct dsi_ctrl_hw *ctrl,
0x0, 0x2, 0x1, 0x4, 0x5, 0x6 };
reg = DSI_R32(ctrl, DSI_TRIG_CTRL);
reg &= ~(0xF);
reg &= ~BIT(16); /* Reset DMA_TRG_MUX */
reg &= ~(0xF); /* Reset DMA_TRIGGER_SEL */
reg |= (trigger_map[cfg->dma_cmd_trigger] & 0xF);
DSI_W32(ctrl, DSI_TRIG_CTRL, reg);

View File

@@ -1920,7 +1920,8 @@ void dsi_ctrl_hw_cmn_init_cmddma_trig_ctrl(struct dsi_ctrl_hw *ctrl,
/* Initialize the default trigger used for Command Mode DMA path. */
reg = DSI_R32(ctrl, DSI_TRIG_CTRL);
reg &= ~(0xF);
reg &= ~BIT(16); /* Reset DMA_TRG_MUX */
reg &= ~(0xF); /* Reset DMA_TRIGGER_SEL */
reg |= (trigger_map[cfg->dma_cmd_trigger] & 0xF);
DSI_W32(ctrl, DSI_TRIG_CTRL, reg);
}