[alsa-devel] [Xen-devel][PATCH v3 0/5] sndif: add explicit back and front synchronization

Takashi Iwai tiwai at suse.de
Wed Mar 21 08:20:21 CET 2018


On Wed, 21 Mar 2018 08:15:36 +0100,
Oleksandr Andrushchenko wrote:
> 
> On 03/20/2018 10:22 PM, Takashi Iwai wrote:
> > On Mon, 19 Mar 2018 08:22:19 +0100,
> > Oleksandr Andrushchenko wrote:
> >> From: Oleksandr Andrushchenko <oleksandr_andrushchenko at epam.com>
> >>
> >> Hello, all!
> >>
> >> In order to provide explicit synchronization between backend and
> >> frontend the following changes are introduced in the protocol:
> >>   - bump protocol version to 2
> >>   - 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
> >>   - add XENSND_OP_HW_PARAM_QUERY request to read/update
> >>     stream configuration space: request passes desired intervals/formats for
> >>     the stream parameters and the response returns allowed intervals and
> >>     formats mask that can be used.
> >>
> >> Changes since v2:
> >> 1. Konrad's r-b tag for version patch
> >> 2. MAJOR: changed req/resp/evt packet sizes from 32 to 64 octets
> >> 3. Reworked XENSND_OP_HW_PARAM_QUERY so it now sends all
> >>     parameters at once, allowing to check all the configuration
> >>     space.
> >> 4. Minor documentation cleanup (added missed "reserved" fields)
> >>
> >> Changes since v1:
> >>
> >> 1. Changed protocol version definition from string to integer,
> >> so it can easily be used in comparisons.
> >> Konrad, I have removed your r-b tag for the reason of this change.
> >>
> >> 2. 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 parameter given: request passes
> >> desired parameter interval (mask) and the response to this request
> >> returns min/max interval (mask) for the parameter to be used.
> >>
> >> Parameters supported by this request/response:
> >>   - format mask
> >>   - sample rate interval
> >>   - number of channels interval
> >>   - buffer size, interval, frames
> >>   - period size, interval, frames
> > I can't judge exactly about the protocol without the actual FE/BE
> > implementations, but the change looks good to me, especially if you've
> > already tested something.
> Thank you, I have tested the changes and need them to start upstreaming
> the frontend driver used to test the protocol.
> Do you mind if I put your Acked-by (or you prefer Reviewed-by?) tag to
> these patches:
> 
> [PATCH v3 4/5] sndif: Add explicit back and front synchronization
> [PATCH v3 5/5] sndif: Add explicit back and front parameter negotiation

Sure, feel free to take my ack:
  Reviewed-by: Takashi Iwai <tiwai at suse.de>


Takashi

> 
> Please note, that the changes first to be merged into Xen and then
> I'll prepare
> the same, but for the kernel
> >
> > If other people have no concern, let's go ahead with FE/BE stuff.
> Konrad, are you ok with the changes?
> >
> > thanks,
> >
> > Takashi
> Thank you,
> Oleksandr
> 


More information about the Alsa-devel mailing list