7 Dec
2020
7 Dec
'20
4:36 p.m.
If you really want to limit your period size you need to install a range constraint on the SNDRV_PCM_HW_PARAM_PERIOD_SIZE parameter.
But I'd highly recommend against it and just split the transfer into multiple segments in the DMA driver. Needlessly limiting the period size will increase the number of interrupts during audio playback/recording and hurt the power efficiency of your system.
Yes that was also an objection from me, the fix should be in the DMA level. The 1024 block limitation would mean restricting the period size to be at most 5.3 or 10.6ms (16 and 32-bit cases). That's way to small.