• Oleksandr Andrushchenko's avatar
    ALSA: xen-front: Implement ALSA virtual sound driver · 1cee5593
    Oleksandr Andrushchenko authored
    Implement essential initialization of the sound driver:
      - introduce required data structures
      - handle driver registration
      - handle sound card registration
      - register sound driver on backend connection
      - remove sound driver on backend disconnect
    
    Initialize virtual sound card with streams according to the
    Xen store configuration.
    
    Implement ALSA driver operations including:
      - manage frontend/backend shared buffers
      - manage Xen bus event channel states
    
    Implement requests from front to back for ALSA
    PCM operations.
      - report ALSA period elapsed event: handle XENSND_EVT_CUR_POS
        notifications from the backend when stream position advances
        during playback/capture. The event carries a value of how
        many octets were played/captured at the time of the event.
      - implement explicit stream parameter negotiation between
        backend and frontend: handle XENSND_OP_HW_PARAM_QUERY request
        to read/update configuration space for the parameter given:
        request passes desired parameter interval and the response to
        this request returns min/max interval for the parameter to be used.
    Signed-off-by: default avatarOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    1cee5593
xen_snd_front_alsa.c 20.7 KB