Age | Commit message (Collapse) | Author | Files | Lines |
|
The 'unconfigure' callback can be used to clean up the 'configured'
state of an Audio Path, for when it is desired to reset the streams,
and/or reload a different stream configuration.
To destroy the streams, we must attempt to force their PCMs
closed. Take note though, that if a PCM is being written to when
an unconfigure command is issued, system instability may occur.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Uses the ALSA internal PCM API to create streams purely used for internal
routing purposes.
Adds the 'try_complete' functions for both streams and routes in an
attempt to standardize the finalization of a stream or route object.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
- Add 'route' to snd_avirt_stream, remove from audio path
- Add route checking - ensure that source ap and ink ap have
compatible hw params
- Add private data support for both source and sink Audio
Paths, to ensure that the PCM can hold multiple private data(s).
- Add ability to use copy_kernel and exttriggers from AVIRT instead of from Audio Paths
- Reintroduce pcm_trigger and pcm_prepare, so that
they may be called appropriately from AVIRT, rather
than child Audio Paths.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Configfs interface for adding 'routes' is added, and allows two audio paths to chain together particular inputs/outputs, allowing for multistage audio driver handling.
A particular use-case is that of an ADSP driver. We can feed in audio to it, and capture the processed, and/or mixed, audio at it's output, and direct to another audio path driver, such as the UNICENS audio driver.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
To ensure that a stream is able to change it's mapping (before card is sealed), we cannot create the stream PCM upon setting the mapping. This had to be reworked to allow multiple setting of the mapping if so required.
The PCM ops table for a given stream is now allocated and stored in the snd_avirt_stream struct, to allow retrieval and manipulation upon mapping change.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
We no longer need to wait until the card is sealed to create the PCM device. We can create it right away.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
This will aid the eventual migration the the upstream mainline Linux kernel
Fix some checkpatch warnings, and other compiler warnings
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Change include guards to reflect Linux sound driver format
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Added debug macros for Dummy AP
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
All license headers need to be uniform across AVIRT
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
When creating the PCMs we need information regarding the stream's mapping. For the loopback, we need to add both playback and capture substreams.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
The trailing \n was improperly being stored to the 'map' variable
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Sanity guard the sound card string buffers with strncpy
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Add additional callbacks for audio path configuring, after card has been sealed.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|