On Fri, Nov 29, 2013 at 10:48:29AM +0100, Takashi Iwai wrote:
Jaroslav Kysela wrote:
I basically agree, but... I believe that these chunks can be divided to the 512 limit using continuous indexes (kcontrol->count) and a simple rule in the driver "write all to a DSP when the last control (index) is touched" may be enough. No API extensions are required. The question is: Do you rellay need 100+KB for coefficients? Do you expect to handle these data in standard tools like alsactl?
It's certianly possible to do something like that while maintianing the ABI, however if we were going to do that we'd probably want to extend alsa-lib and tinyalsa to do this transparently and devise a naming scheme for the controls to trigger that behaviour. The main thing is the API offered to users.
Yeah, I suggested a similar workaround when the issue came up ago (IIRC, it was about WM codecs). But it's certainly ugly, indeed.
No, that was originally for Qualcomm - they were wanting to download megabytes of data. There were some patches from Wolfson more recently though they're for much smaller data sizes.