On Thu, Jun 26, 2025 at 10:09 AM Arun Raghavan <a...@arunraghavan.net> wrote: > > From: Arun Raghavan <a...@asymptotic.io> > > On an imx8mm platform with an external clock provider, when running the > receiver (arecord) and triggering an xrun with xrun_injection, we see a > channel swap/offset. This happens sometimes when running only the > receiver, but occurs reliably if a transmitter (aplay) is also > concurrently running. > > It seems that the SAI loses track of frame sync during the trigger stop > -> trigger start cycle that occurs during an xrun. Doing just a FIFO > reset in this case does not suffice, and only a software reset seems to > get it back on track. > > This looks like the same h/w bug that is already handled for the > producer case, so we now do the reset unconditionally on config disable. > > Signed-off-by: Arun Raghavan <a...@asymptotic.io> > Reported-by: Pieterjan Camerlynck <p.camerly...@televic.com> > Fixes: 3e3f8bd56955 ("ASoC: fsl_sai: fix no frame clk in master mode") > Cc: sta...@vger.kernel.org
Reviewed-by: Fabio Estevam <feste...@gmail.com>