Age | Commit message (Collapse) | Author | Files | Lines |
|
We need to have to close PCM callback set, otherwise we get
a kernel crash when the PCM middle layer attempts to dereference
a NULL pointer.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
- Fix issues regarding PCM ops callbacks via AVIRT
- As PCMs are created, the PCM ops are set according to the Audio
Path's needs. A default PCM ops table is applied for all PCMs,
which includes callbacks such as open, and hw_free, since AVIRT
requires these for intermediate processing, whether or not a given
Audio Path may need them.
- Separate PCM ops into separate playback and capture ops tables
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Make void* audiopath a struct and_avirt_audiopath, standardize
naming in the struct
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
We only want to call the Audio Path 'configure' callback when there
is at least 1 stream mapped to that Audio Path.
Change the return of snd_avirt_streams_get to return the number of
mapped streams for a given Audio Path.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Expand upon the private data structure currently used by avirt
to allow audio paths to store own user data to PCM implementation.
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Like aloop, we need to be able to find AVIRT by-path as
platform-snd_avirt.0. The 4a-mixer uses this method to find cards.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
avirt_class can become avirt,
SND_AVIRTUAL_DRIVER becomes SND_AVIRT_DRIVER
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
When the configure() callback occurs for each audiopath, we only want
those streams that are mapped to the given audiopath to be exposed to
the audiopath. E.g. only streams mapped to loopback should be
propagated to loopback via configure() callback, rather than
all streams.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Since coreinfo only has version info, and this is not being used
at all, we can absorb the version info into the private
avirt_core structure.
We could in future implement a function to retrieve the version,
when, and if, it is required.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Missing blank quotations beside fmt
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
This is required to build properly in Yocto
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Change the name of the modules to reflect the new names
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Some Usage doc changes
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
No need for alsa- prefix any longer
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
This is taken from the mainline Linux kernel
This is used for automatically formatting the source to Linus' strict standards
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>
|
|
No need to be using kasprintf in a debug macro!
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>
|
|
These can still be used, although proceed with caution when adding new Audio Paths.
The copy_user PCM callback caused lots of strife when porting the loopback driver!
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>
|
|
These need to be in the format the Linux expects, and uniform across AVIRT
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Tidy other docs
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Add 'map' to configfs test, remove old mentions of module parameters
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Fix table of contents Markdown links
Fixing whitespace problems in Markdown docs
Fix alignment of table of contents
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Restructure docs file tree
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Cleaning up build instructions for building AVIRT
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Dot points to introduction, and shifting the build instructions to
docs/2.\ Building.md
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Updated documentation to use load/unload
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Updated usage document with loading/unloading, configuration information
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Cleaning up build instructions for building AVIRT
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Dot points to introduction, and shifting the build instructions to
docs/2.\ Building.md
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
After discussion at AGL F2F, it was suggested to have simpler readmes
that summarise the system/architecture/build process/etc.
Starting to dotpoint out that process with these readmes.
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Reworked the original aloop implementation to have the PCM devices loop on themselves, and subscribe the the AVIRT system.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
We don't want to return inside the macro call necessarily. Some PCM cbs require differing return values.
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
These should be done in the Audio Path
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Remove hardcoded test Audio Path UID, and use dynamic Audio Path UID
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>
|
|
The loopback audio path might need to add it's own controls.
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>
|
|
This is no longer needed in AVIRT, since it is only actually used for the ADSP Audio Path.
Clean up white space, add function documentation, remove out of place debug prints
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|
|
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
|