[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