summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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>
2018-10-26Fix initialization of the audiopath_listMark Farrugia1-4/+1
This wasn't being initialised properly, and NULL audiopaths were not being detected. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Loopback progressJames O'Shannessy5-27/+43
Loopback currently reads from dma_area but the initial copy from playback to capture has not been implemented. Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Current state of loopback.James O'Shannessy3-27/+40
Committing debug changes and loopback changes Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Changes to loopbackJames O'Shannessy4-11/+62
Added more detailed printing to loopback, alsa-pcm. Updated load and unload functions Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Updating loopback audio path.James O'Shannessy1-5/+163
Added initial implementation with callback operating on timer. NOTE: Copying from PB to C is not yet implemented Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Add updates to Makefiles and tasks for buildingJames O'Shannessy3-3/+7
Add required changes to Makefile and KConfig to implement building of loopback audio path as part of standard make execution. Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Adding groundwork for loopbackJames O'Shannessy3-0/+130
Added a skeleton for the loopback audiopath. Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Remove snd_pcm_lib_mmap_vmalloc from default pcm_ops struct.Mark Farrugia1-1/+0
This has been removed as of Linux kernel 4.18 Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Adds 'all' and 'clean' to Makefile for out-of-tree buildsMark Farrugia1-0/+19
This will work for both AGL builds and non-AGL builds Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Update README.mdMark Farrugia1-1/+1
Mention the Linux fork on Fiberdyne GitHub for building in-tree Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Update licensingMark Farrugia7-208/+287
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
2018-10-26Update README.mdJames O'Shannessy1-1/+8
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Update README.mdJames O'Shannessy1-1/+0
Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-10-26Public push of AVIRT.James O'Shannessy21-4/+2472
Follow readme for building in/out of tree for Ubuntu/AGL/etc. Signed-off-by: James O'Shannessy <james.oshannessy@fiberdyne.com.au>
2018-09-12Add .gitignore and .gitreviewguppy_6.90.0guppy/6.90.06.90.0Jan-Simon Möller2-0/+9
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2018-09-12Initial empty repositoryJan-Simon Moeller0-0/+0