[Sound-open-firmware] Input/output error for simple pipeline with mixer
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Tue Jul 21 20:03:44 CEST 2020
On 7/21/20 8:50 AM, Daniel Baluta wrote:
> Hi Tomasz, Karol, Ranjani,
>
> I wonder if you have any clues on why $subject happens.
>
> We have a simple pipeline like this:
>
> PCM0 --> B0--+
> |--mixer-->B1-->DAI
> PCM1 --> B1--+
>
> Subdevices are created like this:
>
> oot at imx8qxpc0mek:~# aplay -l
> **** List of PLAYBACK Hardware Devices ****
> card 0: sofwm8960audio [sof-wm8960-audio], device 0: Port0 (*) []
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> card 0: sofwm8960audio [sof-wm8960-audio], device 1: Passthrough
> Playback 1 (*) []
> Subdevices: 1/1
> Subdevice #0: subdevice #0
>
> But, when we use aplay in the following order:
>
> $ (1) aplay -Dhw:0,1 -f S32_LE -c 2 -r 48000 file1.wav
> $ (2) aplay -Dhw:0,0 -f S32_LE -c 2 -r 48000 file0.wav
>
> everything is OK, mixing works.
>
> But when the order is reversed:
>
> $ (2) aplay -Dhw:0,0 -f S32_LE -c 2 -r 48000 file0.wav
> $ (1) aplay -Dhw:0,1 -f S32_LE -c 2 -r 48000 file1.wav
>
> (1) aplay exists with an error:
> aplay: pcm_write:2057: write error: Input/output error
>
> I wonder if you met this. Topology looks to be symmetric
> with respect to PCM0/PCM1.
Maybe an issue with the scheduling dependencies?
This looks similar to what I recently changed for Baytrail/CherryTrail,
and I had to go through some hoops to make sure both 'host' pipelines
were scheduled based the DAI pipeline:
https://github.com/thesofproject/sof/blob/master/tools/topology/sof-byt-codec.m4
More information about the Sound-open-firmware
mailing list