ctl: add explanation about threshold level feature

ALSA ctl feature includes threshold level feature. This is introduced in
2006, and there's little resources about it.

This commit adds a simple explanation about the feature.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Sakamoto 2016-06-15 23:57:43 +09:00 committed by Takashi Iwai
parent d932e0184c
commit 677160d226

View file

@ -58,6 +58,28 @@ elements included in the element set.
When the value of member is changed, corresponding events are transferred to
userspace applications. The applications should subscribe any events in advance.
\section tlv_blob Thredshold level and arbitrary data
TLV feature is designed to transfer data about threshold level between a driver
and any userspace applications. The data is for an element set.
At first, this feature was implemented to add pre-defined data readable to
userspace applications. Soon, it was extended to handle several operations;
read, write and command. The original implementation remains as the read
operation. The command operation allows drivers to have own implementations
against requests from userspace applications. As of 2016, simple write operation
is not supported yet.
This feature was introduced to ALSA control feature in 2006, at commit
c7a0708a2362, corresponding to a series of work for Linux kernel (42750b04c5ba
and 8aa9b586e420).
This feature can transfer arbitrary data in a shape of an array with members of
unsigned int type, therefore it can be used to deliver quite large arbitrary
data from userspace to in-kernel drivers via ALSA control character device.
Focusing on this nature, some in-kernel implementations utilize this feature for
I/O operations.
*/
#include <stdio.h>