All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Stephen Warren <swarren@nvidia.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Subject: Re: ASoC mixer control names v.s. well-known "Master"
Date: Mon, 11 Apr 2011 13:07:52 -0700	[thread overview]
Message-ID: <20110411200751.GA29405@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF0493EB3C62@HQMAIL01.nvidia.com>

On Mon, Apr 11, 2011 at 12:34:23PM -0700, Stephen Warren wrote:

> In ChromeOS, user-space attempts to manipulate controls with "well known
> names" to control e.g. output volume. The names it uses are probably based
> on Documentation/sound/alsa/ControlNames.txt, since the code was originally
> written for x86 platforms that use those names.

> Is that document relevant to ASoC, up-to-date, and binding on audio
> drivers, or more of a de-facto FYI?

This basically doesn't work for ASoC - it is kind of what you should do
if you can do things but it really only works for PC style sound cards
where there's relatively little flexibility in terms of routing and so
on.  With embedded systems the appropriate controls to use for a given
feature can vary substantially depending on board design and even use
case (the CPU to headphone case for MP3 playback may not share anything
at all with the voice call to earpiece) so it's difficult to do
anything.

The idea with ASoC is that you should use UCM for this.  What I'd
suggest is that ChromeOS implements UCM support and then falls back to
using control names if there isn't a UCM configuration for the device.

> Those names don't exist for Tegra, or rather the WM8903, and I imagine for
> any ASoC drivers. I had imagined this could be fixed by creating virtual
> mixer controls in asound.conf that re-direct requests to that real control.
> Is that how things typically work? Or, should the ASoC machine driver
> create controls with those names?

Typically embedded applications don't try to work with generic control
names at all - they're either specific to the physical system or use
configuration files.  A large part of what UCM does is abstract out the
generic bits of the configuration files approach from applications.

      reply	other threads:[~2011-04-11 20:07 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-11 19:34 ASoC mixer control names v.s. well-known "Master" Stephen Warren
2011-04-11 20:07 ` Mark Brown [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110411200751.GA29405@opensource.wolfsonmicro.com \
    --to=broonie@opensource.wolfsonmicro.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=swarren@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.