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@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-code...