* [PATCH] ASoC: fsl_sai: Force a software reset when starting in consumer mode @ 2025-06-25 13:06 Arun Raghavan 2025-06-25 23:45 ` kernel test robot 2025-06-25 23:56 ` [PATCH v2] " Arun Raghavan 0 siblings, 2 replies; 7+ messages in thread From: Arun Raghavan @ 2025-06-25 13:06 UTC (permalink / raw) To: Shengjiu Wang, Xiubo Li Cc: Fabio Estevam, Nicolin Chen, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai, Pieterjan Camerlynck, linux-sound, linuxppc-dev, linux-kernel, Arun Raghavan From: Arun Raghavan <arun@asymptotic.io> In a setup 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. The theory is that SAI seems to lose 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. Signed-off-by: Arun Raghavan <arun@asymptotic.io> Reported-by: Pieterjan Camerlynck <p.camerlynck@televic.com> --- sound/soc/fsl/fsl_sai.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index af1a168d35e3..3a5ebf32903f 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -841,6 +841,18 @@ static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd, case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + /* + * Force a software reset if we are not the clock provider, as we + * might have lost frame sync during xrun recovery. + */ + if (sai->is_consumer_mode) { + regmap_update_bits(sai->regmap, + FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, + FSL_SAI_CSR_SR); + regmap_update_bits(sai->regmap, + FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, + 0); + } regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE); -- 2.49.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] ASoC: fsl_sai: Force a software reset when starting in consumer mode 2025-06-25 13:06 [PATCH] ASoC: fsl_sai: Force a software reset when starting in consumer mode Arun Raghavan @ 2025-06-25 23:45 ` kernel test robot 2025-06-25 23:56 ` [PATCH v2] " Arun Raghavan 1 sibling, 0 replies; 7+ messages in thread From: kernel test robot @ 2025-06-25 23:45 UTC (permalink / raw) To: Arun Raghavan, Shengjiu Wang, Xiubo Li Cc: oe-kbuild-all, Fabio Estevam, Nicolin Chen, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai, Pieterjan Camerlynck, linux-sound, linuxppc-dev, linux-kernel, Arun Raghavan Hi Arun, kernel test robot noticed the following build warnings: [auto build test WARNING on broonie-sound/for-next] [also build test WARNING on linus/master v6.16-rc3 next-20250625] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Arun-Raghavan/ASoC-fsl_sai-Force-a-software-reset-when-starting-in-consumer-mode/20250625-210824 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next patch link: https://lore.kernel.org/r/20250625130648.201331-1-arun%40arunraghavan.net patch subject: [PATCH] ASoC: fsl_sai: Force a software reset when starting in consumer mode config: arc-randconfig-002-20250626 (https://download.01.org/0day-ci/archive/20250626/202506260745.Z7PLEr3i-lkp@intel.com/config) compiler: arc-linux-gcc (GCC) 13.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250626/202506260745.Z7PLEr3i-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202506260745.Z7PLEr3i-lkp@intel.com/ All warnings (new ones prefixed by >>): sound/soc/fsl/fsl_sai.c: In function 'fsl_sai_trigger': >> sound/soc/fsl/fsl_sai.c:848:21: warning: the comparison will always evaluate as 'true' for the address of 'is_consumer_mode' will never be NULL [-Waddress] 848 | if (sai->is_consumer_mode) { | ^~~ In file included from sound/soc/fsl/fsl_sai.c:24: sound/soc/fsl/fsl_sai.h:287:14: note: 'is_consumer_mode' declared here 287 | bool is_consumer_mode[2]; | ^~~~~~~~~~~~~~~~ vim +848 sound/soc/fsl/fsl_sai.c 814 815 static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd, 816 struct snd_soc_dai *cpu_dai) 817 { 818 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); 819 unsigned int ofs = sai->soc_data->reg_offset; 820 821 bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; 822 int adir = tx ? RX : TX; 823 int dir = tx ? TX : RX; 824 u32 xcsr; 825 826 /* 827 * Asynchronous mode: Clear SYNC for both Tx and Rx. 828 * Rx sync with Tx clocks: Clear SYNC for Tx, set it for Rx. 829 * Tx sync with Rx clocks: Clear SYNC for Rx, set it for Tx. 830 */ 831 regmap_update_bits(sai->regmap, FSL_SAI_TCR2(ofs), FSL_SAI_CR2_SYNC, 832 sai->synchronous[TX] ? FSL_SAI_CR2_SYNC : 0); 833 regmap_update_bits(sai->regmap, FSL_SAI_RCR2(ofs), FSL_SAI_CR2_SYNC, 834 sai->synchronous[RX] ? FSL_SAI_CR2_SYNC : 0); 835 836 /* 837 * It is recommended that the transmitter is the last enabled 838 * and the first disabled. 839 */ 840 switch (cmd) { 841 case SNDRV_PCM_TRIGGER_START: 842 case SNDRV_PCM_TRIGGER_RESUME: 843 case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: 844 /* 845 * Force a software reset if we are not the clock provider, as we 846 * might have lost frame sync during xrun recovery. 847 */ > 848 if (sai->is_consumer_mode) { 849 regmap_update_bits(sai->regmap, 850 FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, 851 FSL_SAI_CSR_SR); 852 regmap_update_bits(sai->regmap, 853 FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, 854 0); 855 } 856 regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs), 857 FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE); 858 859 regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs), 860 FSL_SAI_CSR_TERE, FSL_SAI_CSR_TERE); 861 /* 862 * Enable the opposite direction for synchronous mode 863 * 1. Tx sync with Rx: only set RE for Rx; set TE & RE for Tx 864 * 2. Rx sync with Tx: only set TE for Tx; set RE & TE for Rx 865 * 866 * RM recommends to enable RE after TE for case 1 and to enable 867 * TE after RE for case 2, but we here may not always guarantee 868 * that happens: "arecord 1.wav; aplay 2.wav" in case 1 enables 869 * TE after RE, which is against what RM recommends but should 870 * be safe to do, judging by years of testing results. 871 */ 872 if (fsl_sai_dir_is_synced(sai, adir)) 873 regmap_update_bits(sai->regmap, FSL_SAI_xCSR((!tx), ofs), 874 FSL_SAI_CSR_TERE, FSL_SAI_CSR_TERE); 875 876 regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs), 877 FSL_SAI_CSR_xIE_MASK, FSL_SAI_FLAGS); 878 break; 879 case SNDRV_PCM_TRIGGER_STOP: 880 case SNDRV_PCM_TRIGGER_SUSPEND: 881 case SNDRV_PCM_TRIGGER_PAUSE_PUSH: 882 regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs), 883 FSL_SAI_CSR_FRDE, 0); 884 regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs), 885 FSL_SAI_CSR_xIE_MASK, 0); 886 887 /* Check if the opposite FRDE is also disabled */ 888 regmap_read(sai->regmap, FSL_SAI_xCSR(!tx, ofs), &xcsr); 889 890 /* 891 * If opposite stream provides clocks for synchronous mode and 892 * it is inactive, disable it before disabling the current one 893 */ 894 if (fsl_sai_dir_is_synced(sai, adir) && !(xcsr & FSL_SAI_CSR_FRDE)) 895 fsl_sai_config_disable(sai, adir); 896 897 /* 898 * Disable current stream if either of: 899 * 1. current stream doesn't provide clocks for synchronous mode 900 * 2. current stream provides clocks for synchronous mode but no 901 * more stream is active. 902 */ 903 if (!fsl_sai_dir_is_synced(sai, dir) || !(xcsr & FSL_SAI_CSR_FRDE)) 904 fsl_sai_config_disable(sai, dir); 905 906 break; 907 default: 908 return -EINVAL; 909 } 910 911 return 0; 912 } 913 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] ASoC: fsl_sai: Force a software reset when starting in consumer mode 2025-06-25 13:06 [PATCH] ASoC: fsl_sai: Force a software reset when starting in consumer mode Arun Raghavan 2025-06-25 23:45 ` kernel test robot @ 2025-06-25 23:56 ` Arun Raghavan 2025-06-26 6:55 ` Shengjiu Wang 2025-06-26 11:08 ` Mark Brown 1 sibling, 2 replies; 7+ messages in thread From: Arun Raghavan @ 2025-06-25 23:56 UTC (permalink / raw) To: Shengjiu Wang, Xiubo Li Cc: Fabio Estevam, Nicolin Chen, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai, Pieterjan Camerlynck, linux-sound, linuxppc-dev, linux-kernel, Arun Raghavan From: Arun Raghavan <arun@asymptotic.io> In a setup 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. The theory is that SAI seems to lose 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. Signed-off-by: Arun Raghavan <arun@asymptotic.io> Reported-by: Pieterjan Camerlynck <p.camerlynck@televic.com> --- v2: - Address build warning from kernel test robot sound/soc/fsl/fsl_sai.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index af1a168d35e3..d158352c7640 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -841,6 +841,18 @@ static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd, case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + /* + * Force a software reset if we are not the clock provider, as we + * might have lost frame sync during xrun recovery. + */ + if (sai->is_consumer_mode[tx]) { + regmap_update_bits(sai->regmap, + FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, + FSL_SAI_CSR_SR); + regmap_update_bits(sai->regmap, + FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, + 0); + } regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE); -- 2.49.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ASoC: fsl_sai: Force a software reset when starting in consumer mode 2025-06-25 23:56 ` [PATCH v2] " Arun Raghavan @ 2025-06-26 6:55 ` Shengjiu Wang 2025-06-26 11:44 ` Arun Raghavan 2025-06-26 11:08 ` Mark Brown 1 sibling, 1 reply; 7+ messages in thread From: Shengjiu Wang @ 2025-06-26 6:55 UTC (permalink / raw) To: Arun Raghavan Cc: Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai, Pieterjan Camerlynck, linux-sound, linuxppc-dev, linux-kernel, Arun Raghavan On Thu, Jun 26, 2025 at 7:58 AM Arun Raghavan <arun@arunraghavan.net> wrote: > > From: Arun Raghavan <arun@asymptotic.io> > > In a setup 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. > > The theory is that SAI seems to lose 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. > > Signed-off-by: Arun Raghavan <arun@asymptotic.io> > Reported-by: Pieterjan Camerlynck <p.camerlynck@televic.com> > --- > > v2: > - Address build warning from kernel test robot > > sound/soc/fsl/fsl_sai.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c > index af1a168d35e3..d158352c7640 100644 > --- a/sound/soc/fsl/fsl_sai.c > +++ b/sound/soc/fsl/fsl_sai.c > @@ -841,6 +841,18 @@ static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd, > case SNDRV_PCM_TRIGGER_START: > case SNDRV_PCM_TRIGGER_RESUME: > case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: > + /* > + * Force a software reset if we are not the clock provider, as we > + * might have lost frame sync during xrun recovery. > + */ > + if (sai->is_consumer_mode[tx]) { > + regmap_update_bits(sai->regmap, > + FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, > + FSL_SAI_CSR_SR); > + regmap_update_bits(sai->regmap, > + FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, > + 0); > + } Which platform are you using? and please add chip info in your commit message. This change can be moved to fsl_sai_config_disable(). that is: --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -798,18 +798,16 @@ static void fsl_sai_config_disable(struct fsl_sai *sai, int dir) FSL_SAI_CSR_FR, FSL_SAI_CSR_FR); /* - * For sai master mode, after several open/close sai, + * For sai master/slave mode, after several open/close sai, * there will be no frame clock, and can't recover * anymore. Add software reset to fix this issue. * This is a hardware bug, and will be fix in the * next sai version. */ - if (!sai->is_consumer_mode[tx]) { - /* Software Reset */ - regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR); - /* Clear SR bit to finish the reset */ - regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), 0); - } + /* Software Reset */ + regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR); + /* Clear SR bit to finish the reset */ + regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), 0); } Could you please try the above change to also work for your case? Best regards Shengjiu Wang > regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs), > FSL_SAI_CSR_FRDE, FSL_SAI_CSR_FRDE); > > -- > 2.49.0 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ASoC: fsl_sai: Force a software reset when starting in consumer mode 2025-06-26 6:55 ` Shengjiu Wang @ 2025-06-26 11:44 ` Arun Raghavan 0 siblings, 0 replies; 7+ messages in thread From: Arun Raghavan @ 2025-06-26 11:44 UTC (permalink / raw) To: Shengjiu Wang Cc: Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai, Pieterjan Camerlynck, linux-sound, linuxppc-dev, linux-kernel, Arun Raghavan On Thu, 26 Jun 2025, at 2:55 AM, Shengjiu Wang wrote: > On Thu, Jun 26, 2025 at 7:58 AM Arun Raghavan <arun@arunraghavan.net> wrote: >> >> From: Arun Raghavan <arun@asymptotic.io> >> >> In a setup 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. >> >> The theory is that SAI seems to lose 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. >> >> Signed-off-by: Arun Raghavan <arun@asymptotic.io> >> Reported-by: Pieterjan Camerlynck <p.camerlynck@televic.com> >> --- >> >> v2: >> - Address build warning from kernel test robot >> >> sound/soc/fsl/fsl_sai.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c >> index af1a168d35e3..d158352c7640 100644 >> --- a/sound/soc/fsl/fsl_sai.c >> +++ b/sound/soc/fsl/fsl_sai.c >> @@ -841,6 +841,18 @@ static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd, >> case SNDRV_PCM_TRIGGER_START: >> case SNDRV_PCM_TRIGGER_RESUME: >> case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: >> + /* >> + * Force a software reset if we are not the clock provider, as we >> + * might have lost frame sync during xrun recovery. >> + */ >> + if (sai->is_consumer_mode[tx]) { >> + regmap_update_bits(sai->regmap, >> + FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, >> + FSL_SAI_CSR_SR); >> + regmap_update_bits(sai->regmap, >> + FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR, >> + 0); >> + } > > Which platform are you using? and please add chip info in your commit > message. It's an imx8mm. I'll add that to the commit message. > This change can be moved to fsl_sai_config_disable(). that is: > > --- a/sound/soc/fsl/fsl_sai.c > +++ b/sound/soc/fsl/fsl_sai.c > @@ -798,18 +798,16 @@ static void fsl_sai_config_disable(struct > fsl_sai *sai, int dir) > FSL_SAI_CSR_FR, FSL_SAI_CSR_FR); > > /* > - * For sai master mode, after several open/close sai, > + * For sai master/slave mode, after several open/close sai, > * there will be no frame clock, and can't recover > * anymore. Add software reset to fix this issue. > * This is a hardware bug, and will be fix in the > * next sai version. > */ > - if (!sai->is_consumer_mode[tx]) { > - /* Software Reset */ > - regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), > FSL_SAI_CSR_SR); > - /* Clear SR bit to finish the reset */ > - regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), 0); > - } > + /* Software Reset */ > + regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), FSL_SAI_CSR_SR); > + /* Clear SR bit to finish the reset */ > + regmap_write(sai->regmap, FSL_SAI_xCSR(tx, ofs), 0); > } > > Could you please try the above change to also work for your case? Ah, I should've spotted that! Yes, doing it this way works just fine. Updated patch incoming. Thank you, Arun ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ASoC: fsl_sai: Force a software reset when starting in consumer mode 2025-06-25 23:56 ` [PATCH v2] " Arun Raghavan 2025-06-26 6:55 ` Shengjiu Wang @ 2025-06-26 11:08 ` Mark Brown 2025-06-26 11:20 ` Arun Raghavan 1 sibling, 1 reply; 7+ messages in thread From: Mark Brown @ 2025-06-26 11:08 UTC (permalink / raw) To: Arun Raghavan Cc: Shengjiu Wang, Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Pieterjan Camerlynck, linux-sound, linuxppc-dev, linux-kernel, Arun Raghavan [-- Attachment #1: Type: text/plain, Size: 525 bytes --] On Wed, Jun 25, 2025 at 07:56:16PM -0400, Arun Raghavan wrote: > From: Arun Raghavan <arun@asymptotic.io> > > In a setup 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. Please don't send new patches or versions in reply to old threads, it makes it harder to follow what's going on. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] ASoC: fsl_sai: Force a software reset when starting in consumer mode 2025-06-26 11:08 ` Mark Brown @ 2025-06-26 11:20 ` Arun Raghavan 0 siblings, 0 replies; 7+ messages in thread From: Arun Raghavan @ 2025-06-26 11:20 UTC (permalink / raw) To: Mark Brown Cc: Shengjiu Wang, Xiubo Li, Fabio Estevam, Nicolin Chen, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Pieterjan Camerlynck, linux-sound, linuxppc-dev, linux-kernel, Arun Raghavan On Thu, 26 Jun 2025, at 7:08 AM, Mark Brown wrote: > On Wed, Jun 25, 2025 at 07:56:16PM -0400, Arun Raghavan wrote: >> From: Arun Raghavan <arun@asymptotic.io> >> >> In a setup 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. > > Please don't send new patches or versions in reply to old threads, it > makes it harder to follow what's going on. Ack, sorry about that! -- Arun ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-06-26 11:45 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-06-25 13:06 [PATCH] ASoC: fsl_sai: Force a software reset when starting in consumer mode Arun Raghavan 2025-06-25 23:45 ` kernel test robot 2025-06-25 23:56 ` [PATCH v2] " Arun Raghavan 2025-06-26 6:55 ` Shengjiu Wang 2025-06-26 11:44 ` Arun Raghavan 2025-06-26 11:08 ` Mark Brown 2025-06-26 11:20 ` Arun Raghavan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).