* Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
2018-04-16 6:24 Oleksandr Andrushchenko
@ 2018-04-17 12:42 ` Oleksandr Andrushchenko
2018-04-17 12:42 ` Oleksandr Andrushchenko
` (4 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Oleksandr Andrushchenko @ 2018-04-17 12:42 UTC (permalink / raw)
To: xen-devel, linux-kernel, alsa-devel, jgross, boris.ostrovsky,
konrad.wilk, perex, tiwai
Cc: Oleksandr Andrushchenko
Hello, Juergen!
Thank you very much for reviewing the driver and providing
valuable comments! I will send v3 of the driver once I have
more reviews, especially I hope ALSA community can also take a look
Also, as you suggested on IRC, I will add a patch for adding
myself as sound/xen maintainer.
Thank you,
Oleksandr
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].
>
> 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
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
2018-04-16 6:24 Oleksandr Andrushchenko
2018-04-17 12:42 ` Oleksandr Andrushchenko
@ 2018-04-17 12:42 ` Oleksandr Andrushchenko
2018-04-18 15:15 ` Oleksandr Andrushchenko
` (3 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Oleksandr Andrushchenko @ 2018-04-17 12:42 UTC (permalink / raw)
To: xen-devel, linux-kernel, alsa-devel, jgross, boris.ostrovsky,
konrad.wilk, perex, tiwai
Cc: Oleksandr Andrushchenko
Hello, Juergen!
Thank you very much for reviewing the driver and providing
valuable comments! I will send v3 of the driver once I have
more reviews, especially I hope ALSA community can also take a look
Also, as you suggested on IRC, I will add a patch for adding
myself as sound/xen maintainer.
Thank you,
Oleksandr
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].
>
> 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
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
2018-04-16 6:24 Oleksandr Andrushchenko
2018-04-17 12:42 ` Oleksandr Andrushchenko
2018-04-17 12:42 ` Oleksandr Andrushchenko
@ 2018-04-18 15:15 ` Oleksandr Andrushchenko
2018-04-18 15:15 ` Oleksandr Andrushchenko
` (2 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Oleksandr Andrushchenko @ 2018-04-18 15:15 UTC (permalink / raw)
To: xen-devel, linux-kernel, alsa-devel, jgross, boris.ostrovsky,
konrad.wilk, perex, tiwai
Cc: Oleksandr Andrushchenko
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
>
> 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
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
2018-04-16 6:24 Oleksandr Andrushchenko
` (2 preceding siblings ...)
2018-04-18 15:15 ` Oleksandr Andrushchenko
@ 2018-04-18 15:15 ` Oleksandr Andrushchenko
2018-04-23 6:34 ` Oleksandr Andrushchenko
2018-04-23 6:34 ` Oleksandr Andrushchenko
2018-05-02 7:59 ` Oleksandr Andrushchenko
2018-05-02 7:59 ` Oleksandr Andrushchenko
5 siblings, 2 replies; 10+ messages in thread
From: Oleksandr Andrushchenko @ 2018-04-18 15:15 UTC (permalink / raw)
To: xen-devel, linux-kernel, alsa-devel, jgross, boris.ostrovsky,
konrad.wilk, perex, tiwai
Cc: Oleksandr Andrushchenko
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
>
> 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
2018-04-18 15:15 ` Oleksandr Andrushchenko
@ 2018-04-23 6:34 ` Oleksandr Andrushchenko
2018-04-23 6:34 ` Oleksandr Andrushchenko
1 sibling, 0 replies; 10+ messages in thread
From: Oleksandr Andrushchenko @ 2018-04-23 6:34 UTC (permalink / raw)
To: xen-devel, linux-kernel, alsa-devel, jgross, boris.ostrovsky,
konrad.wilk, perex, tiwai
Cc: Oleksandr Andrushchenko
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
2018-04-18 15:15 ` Oleksandr Andrushchenko
2018-04-23 6:34 ` Oleksandr Andrushchenko
@ 2018-04-23 6:34 ` Oleksandr Andrushchenko
1 sibling, 0 replies; 10+ messages in thread
From: Oleksandr Andrushchenko @ 2018-04-23 6:34 UTC (permalink / raw)
To: xen-devel, linux-kernel, alsa-devel, jgross, boris.ostrovsky,
konrad.wilk, perex, tiwai
Cc: Oleksandr Andrushchenko
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
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
2018-04-16 6:24 Oleksandr Andrushchenko
` (3 preceding siblings ...)
2018-04-18 15:15 ` Oleksandr Andrushchenko
@ 2018-05-02 7:59 ` Oleksandr Andrushchenko
2018-05-02 7:59 ` Oleksandr Andrushchenko
5 siblings, 0 replies; 10+ messages in thread
From: Oleksandr Andrushchenko @ 2018-05-02 7:59 UTC (permalink / raw)
To: xen-devel, linux-kernel, alsa-devel, jgross, boris.ostrovsky,
konrad.wilk, perex, tiwai
Cc: Oleksandr Andrushchenko
Gentle reminder...
I think that Xen side comments are already there and still I miss
some input from ALSA community on patch #5.
Thank you,
Oleksandr
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].
>
> 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
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/5] ALSA: xen-front: Add Xen para-virtualized frontend driver
2018-04-16 6:24 Oleksandr Andrushchenko
` (4 preceding siblings ...)
2018-05-02 7:59 ` Oleksandr Andrushchenko
@ 2018-05-02 7:59 ` Oleksandr Andrushchenko
5 siblings, 0 replies; 10+ messages in thread
From: Oleksandr Andrushchenko @ 2018-05-02 7:59 UTC (permalink / raw)
To: xen-devel, linux-kernel, alsa-devel, jgross, boris.ostrovsky,
konrad.wilk, perex, tiwai
Cc: Oleksandr Andrushchenko
Gentle reminder...
I think that Xen side comments are already there and still I miss
some input from ALSA community on patch #5.
Thank you,
Oleksandr
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].
>
> 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
>
^ permalink raw reply [flat|nested] 10+ messages in thread