thesofproject / linux

Linux kernel source tree
Other
88 stars 128 forks source link

LNL SoundWire xruns during repeated playback #5066

Open plbossart opened 1 week ago

plbossart commented 1 week ago

xruns seen with this simple script:

set -e

cnt=0
while true; do
    aplay -Dhw:0,0 -c2 -r48000 -fS16_LE /dev/zero -d5
    sleep 5;
    cnt=$((cnt + 1));
    echo "iteration $cnt done";
done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 78 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 79 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
underrun!!! (at least 1036.547 ms long)
iteration 80 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 81 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 82 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 83 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 84 done

Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 148 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
underrun!!! (at least 1090.545 ms long)
iteration 149 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
underrun!!! (at least 412.473 ms long)
iteration 150 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 151 done

Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 434 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 435 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 436 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
underrun!!! (at least 268.634 ms long)
iteration 437 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 438 done

Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 491 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
iteration 492 done
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
underrun!!! (at least 2343.001 ms long)
iteration 493 done
plbossart commented 1 week ago

@kv2019i @bardliao FYI

marc-hb commented 1 week ago

The sleep 5 seems very close to the DSP PM timeout... Does sleep 1 or sleep 10 affect the reproduction rate significantly?