| d6568e3d | 15-Jan-2024 |
Anton Yakovlev <anton.yakovlev@opensynergy.com> |
ALSA: virtio: add support for audio controls
Implementation of support for audio controls in accordance with the extension of the virtio sound device specification [1] planned for virtio-v1.3-cs01.
ALSA: virtio: add support for audio controls
Implementation of support for audio controls in accordance with the extension of the virtio sound device specification [1] planned for virtio-v1.3-cs01.
The device can announce the VIRTIO_SND_F_CTLS feature. If the feature is negotiated, then an additional field appears in the configuration space:
struct virtio_snd_config { ... /* number of available control elements */ __le32 controls; };
The driver can send the following requests to manage audio controls:
enum { ... /* control element request types */ VIRTIO_SND_R_CTL_INFO = 0x0300, VIRTIO_SND_R_CTL_ENUM_ITEMS, VIRTIO_SND_R_CTL_READ, VIRTIO_SND_R_CTL_WRITE, VIRTIO_SND_R_CTL_TLV_READ, VIRTIO_SND_R_CTL_TLV_WRITE, VIRTIO_SND_R_CTL_TLV_COMMAND, ... };
And the device can send the following audio control event notification:
enum { ... /* control element event types */ VIRTIO_SND_EVT_CTL_NOTIFY = 0x1200, ... };
See additional details in [1].
[1] https://lists.oasis-open.org/archives/virtio-comment/202104/msg00013.html
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> Link: https://lore.kernel.org/r/20240115133654.576068-2-aiswarya.cyriac@opensynergy.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
show more ...
|
| 575483e9 | 02-Mar-2021 |
Anton Yakovlev <anton.yakovlev@opensynergy.com> |
ALSA: virtio: introduce device suspend/resume support
All running PCM substreams are stopped on device suspend and restarted on device resume.
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensyne
ALSA: virtio: introduce device suspend/resume support
All running PCM substreams are stopped on device suspend and restarted on device resume.
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Link: https://lore.kernel.org/r/20210302164709.3142702-10-anton.yakovlev@opensynergy.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
show more ...
|
| 19325fed | 02-Mar-2021 |
Anton Yakovlev <anton.yakovlev@opensynergy.com> |
ALSA: virtio: introduce PCM channel map support
Enumerate all available PCM channel maps and create ALSA controls.
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Link: https://lore.
ALSA: virtio: introduce PCM channel map support
Enumerate all available PCM channel maps and create ALSA controls.
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Link: https://lore.kernel.org/r/20210302164709.3142702-9-anton.yakovlev@opensynergy.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
show more ...
|
| ca61a41f | 02-Mar-2021 |
Anton Yakovlev <anton.yakovlev@opensynergy.com> |
ALSA: virtio: introduce jack support
Enumerate all available jacks and create ALSA controls.
At the moment jacks have a simple implementation and can only be used to receive notifications about a p
ALSA: virtio: introduce jack support
Enumerate all available jacks and create ALSA controls.
At the moment jacks have a simple implementation and can only be used to receive notifications about a plugged in/out device.
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Link: https://lore.kernel.org/r/20210302164709.3142702-8-anton.yakovlev@opensynergy.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
show more ...
|
| da76e9f3 | 02-Mar-2021 |
Anton Yakovlev <anton.yakovlev@opensynergy.com> |
ALSA: virtio: PCM substream operators
Introduce the operators required for the operation of substreams.
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Link: https://lore.kernel.org/
ALSA: virtio: PCM substream operators
Introduce the operators required for the operation of substreams.
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Link: https://lore.kernel.org/r/20210302164709.3142702-7-anton.yakovlev@opensynergy.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
show more ...
|
| f40a2867 | 02-Mar-2021 |
Anton Yakovlev <anton.yakovlev@opensynergy.com> |
ALSA: virtio: handling control and I/O messages for the PCM device
The driver implements a message-based transport for I/O substream operations. Before the start of the substream, the hardware buffe
ALSA: virtio: handling control and I/O messages for the PCM device
The driver implements a message-based transport for I/O substream operations. Before the start of the substream, the hardware buffer is sliced into I/O messages, the number of which is equal to the current number of periods. The size of each message is equal to the current size of one period.
I/O messages are organized in an ordered queue. The completion of the I/O message indicates an elapsed period (the only exception is the end of the stream for the capture substream). Upon completion, the message is automatically re-added to the end of the queue.
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> Link: https://lore.kernel.org/r/20210302164709.3142702-6-anton.yakovlev@opensynergy.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
show more ...
|