• Anton Yakovlev's avatar
    ALSA: virtio: add support for audio controls · d6568e3d
    Anton Yakovlev authored
    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 deta...
    d6568e3d
virtio_card.c 10.4 KB