On Sun, 2010-08-08 at 09:07 +1000, Stuart Longland wrote: > Hi Mark, Liam... > On 08/06/10 21:42, Liam Girdwood wrote: > > On Fri, 2010-08-06 at 12:34 +0100, Liam Girdwood wrote: > >> On Fri, 2010-08-06 at 12:19 +0100, Mark Brown wrote: > >>> The machine driver shouldn't be doing this - it's too fragile in the > >>> face of any changes in the drivers and means hard coding use cases into > >>> the kernel which is really bad practice since it's much slower than > >>> doing things from user space and much harder to change as new needs > >>> arise. > >> > >> Please do give UCM (Use Case Manager) a test drive. We are in the late > >> development / early testing phase before upstreaming (still one or two > >> things todo). > >> > >> You will need to checkout the use-case-verb branches of :- > >> > >> git://git.slimlogic.co.uk/alsa-lib.git > >> > >> git://git.slimlogic.co.uk/alsa-utils.git > >> > >> There is a tool called alsaucm that allows changing the use case from > >> the command line. Best to use it's interactive (-i) mode atm. > >> > >> There is also an initial repository for UCM use case configuration files > >> here :- > >> > >> git://git.slimlogic.co.uk/alsa-ucm-conf.git > >> > >> This will show the format required to describe use cases. > >> > > > > Forgot to add that patches are most welcome. > > No worries... I can see there being possible issues with the machine > driver being highly sensitive to changes to the CODEC driver, I was just > curious if there was some mechanism for abstracting this. > > However, a userspace solution will probably work well... I'll have a > look and report back any findings. How close is this to being merged > into the main alsa-lib and alsa-utils trees? > We are aiming for sometime in the next two weeks. There are still roughly two things that need fixing:- 1) Drop the control ID from the use case configuration files. i.e. In order to enable the 'DL1 Mixer Multimedia' path we have a config like 73:'DL1 Mixer Multimedia':1:1 this would just become 'DL1 Mixer Multimedia':1:1 This way we are not reliant on ID numbers that can easily change when driver updates occur (something that is catching me atm with a new driver). The control names are always very constant and unique though. 2) Add a small shared memory segment to store state information for multiple client access. Liam -- Freelance Developer, SlimLogic Ltd ASoC and Voltage Regulator Maintainer. http://www.slimlogic.co.uk _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel