i3c: master: svc: Flush FIFO before sending Dynamic Address Assignment(DAA)
[ Upstream commit a892ee4cf22a50e1d6988d0464a9a421f3e5db2f ] Ensure the FIFO is empty before issuing the DAA command to prevent incorrect command data from being sent. Align with other data transfers, such as svc_i3c_master_start_xfer_locked(), which flushes the FIFO before sending a command. Signed-off-by: Frank Li <Frank.Li@nxp.com> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/r/20250129162250.3629189-1-Frank.Li@nxp.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
398351dcdb
commit
671fea645a
@@ -841,6 +841,8 @@ static int svc_i3c_master_do_daa_locked(struct svc_i3c_master *master,
|
|||||||
u32 reg;
|
u32 reg;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
|
||||||
|
svc_i3c_master_flush_fifo(master);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
/* Enter/proceed with DAA */
|
/* Enter/proceed with DAA */
|
||||||
writel(SVC_I3C_MCTRL_REQUEST_PROC_DAA |
|
writel(SVC_I3C_MCTRL_REQUEST_PROC_DAA |
|
||||||
|
Reference in New Issue
Block a user