Liam, On 11/04/2016 12:51 AM, Liam Girdwood wrote: > Minutes below. Comments, corrections and omissions welcomed. > > We are missing some links to some of the slides presented. Please reply with a link > if you have one. Were there any discussion related to 'Move of ASoC clocking into the clock API'? Any conclusions, plans? -- Péter > Audio Mini Conference Minutes - Santa Fe 2016 > ============================================= > > Present: Mark, Rakesh, Liam, Vinod, Mengdong, Pierre, Patrick, Takashi S, > Javilars, Takashi I, Eric, Dylan, Mauro, Shuah, Charles, Matthew, Lars, Sagar > and others. > > > Android USB Audio - Eric > ======================== > > USB audio is becoming more important as analog jack can be removed. USB stack > is difficult to optimise for low power/latency audio (too many wake ups with > USB 1ms tick). Aim to add no_irq (no IRQ for each period) and mmap support in > USB 3.0 stack to improve power and latency. > > USB playback and capture with synchronised start API is missing from stack/ALSA. > Some patches were posted for synchronised endpoint but never made it to the > list, Pierre is going to resend. > > USB currently defines simple audio endpoints. Support is needed to define more > complex USB audio endpoints rather than just "playback" and "capture". > > Sub 10ms latency (round trip ?) is difficult to achieve on USB due to stack and > drivers. Mmap may help reduce latency by removing buffer copies. > > > Inter Device Dependencies > ========================= > > Kernel Summit joined for this discussion. There is complexity between devices, > more than just a parent/child relationship for some devices making it difficult > to order probing and PM ops. > > Rafael, has created patch set to solve dependences for PM ops in Gregs tree, > the patches could also be used for probing. The patches add an API to allow > device relationships to be established as a graph. This API supports non > parent/child relationships to and allows PM ops to run in a deterministic > sequence. Relationship dependency discovery needs to come from DT/ACPI and > will need standardised bindings. > > Mark described the current audio workarounds where the machine driver specifies > relationships and deferred probe is used to manage the probing sequence. > Some people do not like the high number deferred probe messages in dmesg. > > Relation graphs must be ordered so that cycles to do not exist. > > Next steps are to use Rafaels patches for probe ordering. > > > AV Sync - Eric > =============== > > A few frame counters are 32 bit (compressed API) and should be 64 bit. > Vinod will update compressed API to 64 bit. > > Timers should also consider boot time and suspend/resume time as it's currently > difficult to keep AV syn over suspend/resume cycles. > > AV sync on TV's hacky atm, we need AV sync API in ALSA. Takashi noted this was > long time problem that needs solution. Some options for AV sync were pseudo > transport streams (like existing mpeg format) but these were difficult for > mmap(). Other devices had used runtime PLL updating with patches sent in the > past ? > > Compressed API could be used to send transport stream for AV sync. > > > HDMI/DP glue to GFX - Vinod > =========================== > > Currently several interlaces exist to pass DP/HDMI events and information > between audio and GFX stacks/drivers. ARM devices using pdata interface, > i915 has another solution, BYT uses another interface. Needs to be consistent > for user space ELD notification, jack detection/mapping. Currently HDA drivers > have hack to assist userspace (PCM5). > > There are also difficulties mapping PCMs, channels and jacks to multiple > HDMI/DP devices. > > Tikashi and Vinod to investigate best solutions. > > > DP-MST - Vinod > =============== > > Jack notifications more difficult with MST (extra complexity). How do we map > multiple jacks from multiple monitors, disable unused pins when not rendering ? > The 5.1 use case for gaming has to split channels to multiple monitors. > Decision is that new devices would export topology to userpace so that userspace > know the jack, channel mappings. > > > Soundwire Support - Rakesh and Pierre > ===================================== > > Soundwire new hardware interface for audio devices. Needs new subsystem support > for soundwire master and slave devices. Hardik has posted initial RFC to the > list for review. > > Rakesh presented slides . Link to the slides ? > > Some people had reviewed the RFC. Some changes to strct device/driver usage > required to make it more like other subsystems upstream. There is also need > to deal with devices that can power off after or before enumeration. Some > confusion over the terminology used too, compared to other bus systems like I2C. > Master should be device and not driver. Top level feedback is that it does not > look like bus code. > > There is also a need to consider objects in DT/ACPI. AR Vinod, to look at STIO. > > > Topology and UCM file deployment - Vinod, Mengdong, Liam > ======================================================== > > Difficult to release and deploy topology/ucm updates with alsa-lib cadence. > Distros to be contacted for best deployment where cadence can be faster than > alsa-lib. Liam and Vinod to contact distro package maintainers. > > > UCM - Liam, Mengdong > ==================== > > Which driver card name string to change, there are 3 - long, short and driver. > CRAS uses the string in the []. Not sure about PA. > > Liam to create patch that includes machine name in card name string. > > Mengdong has added #include and #define like support to topology. Mengdong > will port this to UCM too so that a library of codecs can be built up and > included by the machine ucm files. e.g. > > Asus T100 UCM would include rt5640 codec and baytrail DSP UCM configs. > > > Tracepoint for audio - Lars, Takashi S > ====================================== > > Lars and Takashi S have similar patchsets. Easy to make tooling for parsing > traceout. This could replace printk and snd_printk, but builds bigger binary. > Option to disable can be added to reduce size. Uses ftrace output and timestamp. > Used in the PCM operations. Patches are still WiP and will be posted as RFC when > ready. > > > Dropping Dice Driver - Takashi S > ================================ > > Dice hardware has serious problems making it unusable. Takashi S to discuss with > Clemens regarding any potential work around for HW issue. If no work around is > found then it could be marked as broken or moved to staging ? > > > Sound Open Firmware - Liam > ========================== > > Liam introduced SOF and took QA. Liam is also working on an ELF executable > firmware image that can run on the developers host PC. > > http://alsa-project.org/main/index.php/Firmware > > > Paravirtualisation of Audio Drivers - Rakesh > ============================================ > > Safety critical systems have requirements to play safety critcal sounds (like > alarms, warnings) and regular non safety critical sound like media. Rakesh > proposed a Xen hypervisor method to guarantee the safety critical audio would > always take precedence over the non safety critical audio. > > Xen would run a privileged OS (for safety critical) and unprivileged OS (for > non safety critical audio). A para virtualised audio driver would allow the > Unprivileged OS to play audio on the privileged OS. > > Lars suggested Libvirt and KVM may make this task far easier and less restricted > than using Xen. Rakesh to investigate further. > > > Userspace driver for Firewire - Takashi S > ========================================= > > Need to represent mixers for some USB and FW devices in userspace. Why ?. > Possibility of using topology for userspace. Nobody keen on exposing kernel APIs > as userspavce ABIs. Possibility of looking at libvirt interfaces for userspace > drivers many similarities. Kernel component, already use FW sound card. > > Mixer API not suitable, many bus so use control API. > > > ALSA Stream Configuration Domains - Lars > ======================================== > > ALSA has powerful but complex system to configure and constrain stream > configurations at runtime but it does not scale well on modern ASoC based > sound devices with multiple components and DAIs. > > Lars presented a solution that can break complex sound cards down to simple > domains where configuration can be set by userspace to exactly match each > use case. Userspace would also be able to read the configuration in each domain. > New APIs calls would be needed in alsa-lib to achieve this. > > Lars also requested that ASoC become a first class citizen with ALSA since > most new sound cards are ASoC based. Proposal was accepted. > > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@xxxxxxxxxxxxxxxx > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel