summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-10-26Reinstate temporarily removed PCM callbacksMark Farrugia1-4/+4
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>
2018-10-26Update license headersMark Farrugia6-51/+43
All license headers need to be uniform across AVIRT Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Fix module authors/descriptionsMark Farrugia3-8/+9
These need to be in the format the Linux expects, and uniform across AVIRT Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Add docs: Add architecture diagram for 4AMark Farrugia4-18/+38
Tidy other docs Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Update docs to include loopbackMark Farrugia3-4/+11
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Update documentationMark Farrugia4-16/+70
Add 'map' to configfs test, remove old mentions of module parameters Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Adding github preview extensions for vs codeJames O'Shannessy1-0/+1
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Update README.mdJames O'Shannessy2-13/+14
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>
2018-10-26Updating Introduction docJames O'Shannessy2-4/+18
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Fixing table of contents in README documentationJames O'Shannessy5-1/+5
Restructure docs file tree Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Adding table of for contents for README documentationJames O'Shannessy1-10/+1
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Updating build instructionsJames O'Shannessy4-106/+45
Cleaning up build instructions for building AVIRT Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Changes to readme filesJames O'Shannessy1-20/+4
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>
2018-10-26Added load/unload documentation.James O'Shannessy1-0/+10
Updated documentation to use load/unload Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Committing usage documentJames O'Shannessy1-0/+70
Updated usage document with loading/unloading, configuration information Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Updating build instructionsJames O'Shannessy1-4/+20
Cleaning up build instructions for building AVIRT Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Changes to readme filesJames O'Shannessy2-0/+57
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>
2018-10-26Add docs folder for in depth breakdown of module.James O'Shannessy3-0/+0
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>
2018-10-26Update VSC tasks, XDS confMark Farrugia2-74/+64
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Add working loopback implementation, helper scriptsMark Farrugia5-185/+1013
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>
2018-10-26Fix DO_AUDIOPATH_CB, remove unused PCM cbs for nowMark Farrugia2-67/+51
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>
2018-10-26Remove remaining blocksize associated calcsMark Farrugia1-4/+0
These should be done in the Audio Path Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Make Audio Path searching dynamic againMark Farrugia1-3/+3
Remove hardcoded test Audio Path UID, and use dynamic Audio Path UID Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Refactor avirt_card_register, move PCM creation to it.Mark Farrugia4-31/+56
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>
2018-10-26Add card to the configure callbackMark Farrugia2-4/+5
The loopback audio path might need to add it's own controls. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Refactor to use new DINFO macrosMark Farrugia4-30/+51
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Fix issue with 'map' configfs storeMark Farrugia1-1/+3
The trailing \n was improperly being stored to the 'map' variable Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove blocksize from audiopathMark Farrugia6-28/+24
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>
2018-10-26Move 'streams_sealed' to avirt_coreMark Farrugia3-9/+30
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Ensure no buffer overflow when setting card descriptionMark Farrugia2-5/+8
Sanity guard the sound card string buffers with strncpy Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Clean up sound card on module exitMark Farrugia1-0/+1
Sound card was not being free'd properly on module exit. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Fix scripts, move all to scripts folderMark Farrugia3-0/+10
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Update README.mdMark Farrugia2-31/+65
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Add configfs test scriptMark Farrugia1-0/+17
Add initial bash script for configuring AVIRT via the configfs Linux filesystem Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Add configfs interface, revamp stream groupingMark Farrugia9-344/+548
Add additional callbacks for audio path configuring, after card has been sealed. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Make pcm_ack staticMark Farrugia1-1/+1
Add missing static declaration to pcm_ack callback function Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Fix memory freeing of capture/playback streamsMark Farrugia1-4/+4
Since playback and capture streams are not always assigned, we do not want to error when one or the other is not present for free'ing. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Refactor top-level AVIRT API to be avirt_<subject>_<action>Mark Farrugia4-17/+17
This makes for a more organized function/variable naming convention Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Create avirt_stream structure in place of old config structuresMark Farrugia8-350/+210
Remove unnecessary extra memory allocation with the old config structures. We can store the snd_pcm pointer, which contains lots of info already. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Add 'uid' field to AP, store AP in PCM private data, fix helper macrosMark Farrugia6-56/+79
We want to use a UID when registering APs, that must start with "ap_", and acts as a unique identifier for each AP. To move forward with the adoption of routing PCMs to differing APs, we now store the AP in the PCM private data - set at pcm_open. A fix to the helper macros now allows additional args to be passed in for inclusion to the debug string Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Fix kernel crash, where kzalloc is not alloc'ing enough memory!Mark Farrugia1-2/+1
The memory originally being allocated was not for a *, but for a **, hence the kernel crashes due to memory not being adequately allocated. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove configure_pcm function, absorb into pcm_openMark Farrugia1-24/+10
No longer any need for the configure_pcm function in it's current form. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Fix warnings generated by checkpatch.plMark Farrugia5-57/+57
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove remnant debug printMark Farrugia1-1/+0
Remove leftover debug prints that are no longer needed. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Move ALSA info into coreinfo, for export to Audio PathsMark Farrugia5-123/+69
Remove the avirt_alsa_driver Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove leftover variable 'hw_frame_idx'Mark Farrugia1-7/+3
Remove remnant of earlier implementation Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove unused 'buffersize' avirt_alsa_dev_groupMark Farrugia2-14/+0
buffersize is only needed by the ADSP Audio Path driver, so this has been migrated there. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove the unnecessary allocation of substreams in avirt_alsa_dev_groupMark Farrugia3-69/+2
Substreams are actually allocated by the PCM middle layer, so we do not need to do this here Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Remove test 'value' parameter from avirt_audiopathMark Farrugia2-2/+0
This is not required any longer Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Add additional NULL checksMark Farrugia2-13/+12
Check for NULL pointers before free'ing memory on cleanup of AVIRT Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>