On Wed, Aug 31, 2016 at 01:54:37PM +0200, Clemens Ladisch wrote:
Takashi Iwai wrote:
TLV has never been and (will never be) an API to handle a generic binary stream.
It would be possible to define something like SNDRV_CTL_TLVT_HWDEP_BLOB or _COEFFICIENTS, or to reserve a range of TLVT values for driver- defined types. (But we cannot change soc-wm-adsp to support only proper TLV data, because this would introduce a regression.)
It's worth pointing out there are more users than just us, the Intel Skylake stuff being I guess the most important user.
Anyway, the separate length value could be useful only for drivers (like soc-wm-adsp) that use a binary stream where TLV data should have been used. But the software that writes these coefficients to the WM ADSP driver is very hardware specific anyway, and it presumably already works without knowing the returned length value. So there is no case where this patchset _actually_ improves the interface.
The software that writes these coefficients to wm_adsp is not hardware specific at all its just regular amixer and tinymix. These TLV controls are just like any other ALSA control, normal ALSA controls don't return the length that was written because the control is a certain size and the write either succeeds or fails, the same is true here.
Thanks, Charles