I don't quite understand what you wanted me to test in comment #46. So I built some kernels with CONFIG_SND_HDA_PREALLOC_SIZE set to different values, and also tried to echo various values to /proc/asound/card0/pcm?p/sub0/prealloc (because HDMI is card0 here). Result: no matter how the value ends up in prealloc, values of 84 and below work, 88 and above don't, and once the card has seen 88 or higher while playing, there is no way out. The card won't play even the first period on the attempt to use aplay after "correcting" the situation.
Note: this testing was with a 44100 Hz S16_LE stereo wav file. Will reboot now and retest with different files.
I don't quite understand what you wanted me to test in comment #46. So I built some kernels with CONFIG_ SND_HDA_ PREALLOC_ SIZE set to different values, and also tried to echo various values to /proc/asound/ card0/pcm? p/sub0/ prealloc (because HDMI is card0 here). Result: no matter how the value ends up in prealloc, values of 84 and below work, 88 and above don't, and once the card has seen 88 or higher while playing, there is no way out. The card won't play even the first period on the attempt to use aplay after "correcting" the situation.
Note: this testing was with a 44100 Hz S16_LE stereo wav file. Will reboot now and retest with different files.