lkml.org 
[lkml]   [2018]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
    From
    Date
    On 04/18/2018 06:15 PM, Oleksandr Andrushchenko wrote:
    > On 04/16/2018 09:24 AM, Oleksandr Andrushchenko wrote:
    >> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
    >>
    >> Please note: this patch series depends on [3].
    > The dependency is now merged into Xen kernel tree [4] for-linus-4.17
    The dependency is now pulled into Linus tree [5]
    >>
    >> This patch series adds support for Xen [1] para-virtualized
    >> sound frontend driver. It implements the protocol from
    >> include/xen/interface/io/sndif.h with the following limitations:
    >> - mute/unmute is not supported
    >> - get/set volume is not supported
    >> Volume control is not supported for the reason that most of the
    >> use-cases (at the moment) are based on scenarious where
    >> unprivileged OS (e.g. Android, AGL etc) use software mixers.
    >>
    >> Both capture and playback are supported.
    >>
    >> Corresponding backend, implemented as a user-space application, can be
    >> found at [2].
    >>
    >> Thank you,
    >> Oleksandr
    >>
    >> Changes since v1:
    >> *****************
    >>
    >> 1. Moved driver from sound/drivers to sound/xen
    >>
    >> 2. Coding style changes to better meet Linux Kernel
    >>
    >> 3. Added explicit back and front synchronization
    >>     In order to provide explicit synchronization between backend and
    >>     frontend the following changes are introduced in the protocol:
    >>      - add new ring buffer for sending asynchronous events from
    >>        backend to frontend to report number of bytes played by the
    >>        frontend (XENSND_EVT_CUR_POS)
    >>      - introduce trigger events for playback control:
    >> start/stop/pause/resume
    >>      - add "req-" prefix to event-channel and ring-ref to unify naming
    >>        of the Xen event channels for requests and events
    >>
    >> 4. Added explicit back and front parameter negotiation
    >>     In order to provide explicit stream parameter negotiation between
    >>     backend and frontend the following changes are introduced in the
    >> protocol:
    >>     add XENSND_OP_HW_PARAM_QUERY request to read/update
    >>     configuration space for the parameters given: request passes
    >>     desired parameter's intervals/masks and the response to this request
    >>     returns allowed min/max intervals/masks to be used.
    >>
    >> [1] https://xenproject.org/
    >> [2] https://github.com/xen-troops/snd_be
    >> [3] https://lkml.org/lkml/2018/4/12/522
    >>
    >> Oleksandr Andrushchenko (5):
    >>    ALSA: xen-front: Introduce Xen para-virtualized sound frontend driver
    >>    ALSA: xen-front: Read sound driver configuration from Xen store
    >>    ALSA: xen-front: Implement Xen event channel handling
    >>    ALSA: xen-front: Implement handling of shared buffers
    >>    ALSA: xen-front: Implement ALSA virtual sound driver
    >>
    >>   sound/Kconfig                     |   2 +
    >>   sound/Makefile                    |   2 +-
    >>   sound/xen/Kconfig                 |  10 +
    >>   sound/xen/Makefile                |   9 +
    >>   sound/xen/xen_snd_front.c         | 410 +++++++++++++++++++
    >>   sound/xen/xen_snd_front.h         |  57 +++
    >>   sound/xen/xen_snd_front_alsa.c    | 830
    >> ++++++++++++++++++++++++++++++++++++++
    >>   sound/xen/xen_snd_front_alsa.h    |  23 ++
    >>   sound/xen/xen_snd_front_cfg.c     | 517 ++++++++++++++++++++++++
    >>   sound/xen/xen_snd_front_cfg.h     |  46 +++
    >>   sound/xen/xen_snd_front_evtchnl.c | 478 ++++++++++++++++++++++
    >>   sound/xen/xen_snd_front_evtchnl.h |  92 +++++
    >>   sound/xen/xen_snd_front_shbuf.c   | 193 +++++++++
    >>   sound/xen/xen_snd_front_shbuf.h   |  36 ++
    >>   14 files changed, 2704 insertions(+), 1 deletion(-)
    >>   create mode 100644 sound/xen/Kconfig
    >>   create mode 100644 sound/xen/Makefile
    >>   create mode 100644 sound/xen/xen_snd_front.c
    >>   create mode 100644 sound/xen/xen_snd_front.h
    >>   create mode 100644 sound/xen/xen_snd_front_alsa.c
    >>   create mode 100644 sound/xen/xen_snd_front_alsa.h
    >>   create mode 100644 sound/xen/xen_snd_front_cfg.c
    >>   create mode 100644 sound/xen/xen_snd_front_cfg.h
    >>   create mode 100644 sound/xen/xen_snd_front_evtchnl.c
    >>   create mode 100644 sound/xen/xen_snd_front_evtchnl.h
    >>   create mode 100644 sound/xen/xen_snd_front_shbuf.c
    >>   create mode 100644 sound/xen/xen_snd_front_shbuf.h
    >>
    > [4]
    > https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/commit/?h=for-linus-4.17&id=cd6e992b3aab072cc90839508aaf5573c8f7e066
    [5]
    https://elixir.bootlin.com/linux/v4.17-rc2/source/include/xen/interface/io/sndif.h

    \
     
     \ /
      Last update: 2018-04-23 08:34    [W:4.283 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site