Simplifying the mixer

Joerg Reisenweber joerg at openmoko.org
Thu Jun 12 13:09:24 CEST 2008


Am Do  12. Juni 2008 schrieb Mark Brown:
> On Thu, Jun 12, 2008 at 01:11:55AM +0200, Joerg Reisenweber wrote:
> > Am Mi  11. Juni 2008 schrieb Michael 'Mickey' Lauer:
> > > On Wednesday 11 June 2008 21:41:29 Mike Montour wrote:
> 
> > > > For example, consider the controls called "Headphone" and "Speaker".
> > > > Neither label is correct for the GTA01 - "Headphone" is actually
> > > > LOUT1/ROUT1 and controls all audio from the WM8753 to the LM4857 chip,
> > > > while "Speaker" is LOUT2/ROUT2 and is N/C.
> 
> That's unfortunate - what's happened here is that the names used for the
> output controls have been set to match the ALSA naming standard based on
> the recommended external configuration in the datasheet.
> 
> > Anyway, if we *are* able to change the names, I would strongly suggest to 
> > either include a 2-digit unique reference to the register, or use the chip 
> 
> If you guys do decide to do patches for any of this then the naming
> standard for ALSA controls is documented in the kernel source in
> Documentation/sound/alsa/ControlNames.txt - straying away from that will
> confuse applications.  Some stuff may have to stay OpenMoko-local if it
> corresponds too much to things in the OpenMoko design, at least until a
> non-invasive way of dealing with control renaming is available.
> 
> Sadly there's no good solution to this at the minute :(
> 
> > doc names all the way. (Or at least push someone to create a 
3-col-dictionary 
> > alsa|R-b:b|specname)
> 
> This does seem like a good approach since it would avoid maintaining a
> diff.
> 
> > Try to figure out what's "sidetone" in alsamixer, and have a 'nice' 
> > time ;-)! 
> > Then there also seem to be names used that sound like genuine spec-names 
> > but  
> > can't be found anywhere (sorry no pointer now)
> 
> Sidetone is a standard telephony term:
> 
>     http://en.wikipedia.org/wiki/Sidetone

I know what the term "sidetone" means (German "Rueckhoerdaempfung" - I'm 
experienced in telecommunication electronics). My objection was there are 
several mixer-controlls named "*sidetone*" that do not show up in mixer-spec 
in any way. 
> root at om-gta02:~# grep -i sidetone /etc/asound.state
>                 name 'Sidetone Playback Volume'
>                 name 'Mono Sidetone Playback Volume'
>                 name 'Sidetone Capture Volume'
>                 name 'Voice Sidetone Capture Volume'
>                 name 'Mic Sidetone Mux'
>                 comment.item.2 Sidetone
>                 name 'Mono Mixer Sidetone Playback Sw'
>                 name 'Right Mixer Sidetone Playback S'
>                 name 'Left Mixer Sidetone Playback Sw'
Our mixer routing setup isn't default (in fact it's completely different to 
the 'recommended external configuration', as it doesn't use the Vx-codec at 
all for calls), so it's **very** hard to figure out what might be the real 
effect these sidetone-controls might have on *our* routing.



> If you find things that don't appear to correspond to either the ALSA
> standard or the chip datasheet then please report them - they certainly
> should at least be looked at.

First of all they should correspond to the very way the chip is implemented 
and used in GTA01/02-design. (there's no use in any control name like "Master 
Volume"(example), when the so-named control does something completely 
different. Doesn't help for any app that's parsing names, either)
To my understanding the alsa-driver is specific to our hw-implementation (or 
it should be at least), in the sense that GTA01/02 include a OEM-"soundcard" 
onboard. Sure this OEM-card is based on a standard chip (8753), nevertheless 
the way the chip is used is OEM and needs a dedicated driver, as I understand 
it. We don't have a WM8753-soundcard, we have a GTA02-soundcard, and we 
should use the "right" driver for it. I wouldn't care whether or not this 
driver makes it upstream.
There's no use in any way to inherit things like 'Voice Sidetone Capture 
Volume' that do not apply to our design.
Probably we should map the genuine alsa-names to meet our (different) 
routing(s), where applicable, and discard all inappropriate names in favour 
for the chip-spec technical names. For those alsa-names we like to keep 
(those few that a generic application might want to use), we should create 
the dictionary I mentioned.

bottom line: create a GTA02-soundcard driver, with all the right names in it.
Switch from WM8753-driver to this driver.
Deprecate usage of the WM8753-driver for GTA02.
Do all this *now*, because it's an API-break for Apps using alsa-controls

my 0.02€
/jOERG


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
Url : http://lists.openmoko.org/pipermail/openmoko-devel/attachments/20080612/4e2b0402/attachment.pgp 


More information about the openmoko-devel mailing list