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