19 Dec, 2018
1 commit
-
Use page directory based shared buffer implementation
now available as common code for Xen frontend drivers.Signed-off-by: Oleksandr Andrushchenko
Reviewed-by: Takashi Iwai
Signed-off-by: Boris Ostrovsky
16 May, 2018
5 commits
-
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 disconnectInitialize 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 statesImplement 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: Oleksandr Andrushchenko
Signed-off-by: Takashi Iwai -
Implement shared buffer handling according to the
para-virtualized sound device protocol at xen/interface/io/sndif.h:
- manage buffer memory
- handle granted references
- handle page directories[ Fixed missing linux/kernel.h inclusion -- tiwai ]
Signed-off-by: Oleksandr Andrushchenko
Signed-off-by: Takashi Iwai -
Handle Xen event channels:
- create for all configured streams and publish
corresponding ring references and event channels in Xen store,
so backend can connect
- implement event channels interrupt handlers
- create and destroy event channels with respect to Xen bus stateSigned-off-by: Oleksandr Andrushchenko
Signed-off-by: Takashi Iwai -
Read configuration values from Xen store according
to xen/interface/io/sndif.h protocol:
- introduce configuration structures for different
components, e.g. sound card, device, stream
- read PCM HW parameters, e.g rate, format etc.
- detect stream type (capture/playback)
- read device and card parametersSigned-off-by: Oleksandr Andrushchenko
Signed-off-by: Takashi Iwai -
Introduce skeleton of the para-virtualized Xen sound
frontend driver.Initial handling for Xen bus states: implement
Xen bus state machine for the frontend driver according to
the state diagram and recovery flow from sound para-virtualized
protocol: xen/interface/io/sndif.h.Signed-off-by: Oleksandr Andrushchenko
Reviewed-by: Juergen Gross
Signed-off-by: Takashi Iwai