As there is a 10 seconds schedule_timeout in alsa-kernel
The following error occur when aplay/arecord using a period time longer than 10 seconds for for those hda codec which support rate lower than 32000 when prealloc = 4096
ALSA hda_intel.c:1680: azx_pcm_prepare: bufsize=0x1aeb00, format=0x4111 ... ALSA pcm_native.c:1531: playback drain error (DMA or IRQ trouble?)
aplay -v -Dhw:1 --period-time=10001000 22050.wav Playing WAVE '22050.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Stereo Hardware PCM card 1 'HDA Intel' device 0 subdevice 0 Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 22050 exact rate : 22050 (22050/1) msbits : 16 buffer_size : 441024 period_size : 220512 period_time : 10000544 tstamp_mode : NONE period_step : 1 avail_min : 220512 period_event : 0 start_threshold : 441024 stop_threshold : 441024 silence_threshold: 0 silence_size : 0 boundary : 1806434304 appl_ptr : 0 hw_ptr : 0
ALSA hda_intel.c:1680: azx_pcm_prepare: bufsize=0x9c500, format=0x511 ALSA hda_codec.c:1295: hda_codec_setup_stream: NID=0x8, stream=0x1, channel=0, format=0x511 ALSA pcm_lib.c:1789: capture write error (DMA or IRQ trouble?)
arecord -Dhw:1 -v --period-time=10005000 -r 8000 -c2 -f S16_LE /dev/null Recording WAVE '/dev/null' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo Hardware PCM card 1 'HDA Intel' device 0 subdevice 0 Its setup is: stream : CAPTURE access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 8000 exact rate : 8000 (8000/1) msbits : 16 buffer_size : 160064 period_size : 80032 period_time : 10004000 tstamp_mode : NONE period_step : 1 avail_min : 80032 period_event : 0 start_threshold : 1 stop_threshold : 160064 silence_threshold: 0 silence_size : 0 boundary : 1311244288 appl_ptr : 0 hw_ptr : 0 arecord: pcm_read:1773: read error: Input/output error