From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Mike Frysinger <vapier.adi@gmail.com>
Cc: cliff.cai@analog.com, alsa-devel@alsa-project.org,
linux-kernel@vger.kernel.org,
device-drivers-devel@blackfin.uclinux.org,
akpm@linux-foundation.org, lrg@slimlogic.co.uk
Subject: Re: [Device-drivers-devel] [PATCH] Add driver for Analog Devices ADAU1701 SigmaDSP
Date: Wed, 9 Mar 2011 09:55:07 +0000 [thread overview]
Message-ID: <20110309095506.GA6923@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <AANLkTim6bQGKCuzAgxNS93LQkq2iqxjcCW49NBArafK1@mail.gmail.com>
On Wed, Mar 09, 2011 at 01:08:03AM -0500, Mike Frysinger wrote:
> On Mon, Mar 7, 2011 at 10:55, Mark Brown wrote:
> > At a bare minimum suddenly stopping and starting the firmware while
> > audio is going through it is unlikely to work well (you'd most likely
> > get a hard stop of the audio followed by a sudden hard start which sound
> > very unpleasant to listeners) and so should be prevented. There's a
> > bunch of options for doing this (including refusing to change, ensuring
> > the DSP output is muted during the change or routing around the DSP
> > while doing the change).
> you would probably get the "normal" clicks and pops, but i guess your
> view of "wrong" is much more strict than mine ;). i'm not sure our
> parts allow routing around the DSP (Cliff would have to comment). as
> for the rest, i think it'd be best to let the user space app dictate
> how they want to handle things. perhaps clicks/pops are fine with
> them. or they arent, and so the userspace app would make sure to
> pause/mute/whatever the stream. either way, this sounds like a policy
> that shouldnt be hard coded in the codec driver.
Muting the DSP output during firmware reboots seems like an entirely
reasonable way of doing this if there's no ability to route round the
DSP or otherwise deal with the issue, and given how cheap the
mute/unmute is it's hard to see where a user would find that a problem.
Either they'll want to deal with the issue or they won't care.
Bear in mind that people are trying to do things like run off the shelf
PulseAudio as their system audio manager in embedded systems - the
kernel should make some effort to behave sanely.
> > The standard tools should also be able to manage the mechanics of
> > actually getting the new data into the kernel at appropriate moments.
> > This includes both offering control via UIs such as alsamixer and being
> > able to include configuration of the data in UCM configurations.
> exposing this via alsamixer and friends would be a useful debugging
> tool so people can toy around with known working configurations. and
> have code examples to see how to do it.
The ALSA APIs are also the userspace interface to the audio subsystem,
any userspace application interacting with the audio hardware is
expected to use them.
> > I'm not sure you're following what's being said here. The above control
> > discussed above full system configuration of all the control offered by
> > the system, not tuning the parameters of an individual algorithm. This
> > includes volume controls, routing controls, algorithms, coefficients and
> > anything else that can be changed. A scenario where you want to change
> > the set of algorithms the hardware can support is certainly included in
> > that.
> i just meant that the use cases we've been dealing with involve the
> people developing the application taking care of picking which
> firmwares to load at any particular time. having the end user (the
> guy who buys the actual device) select firmwares doesnt make much
> sense. but this particular qualification probably is irrelevant to
> the framework you're proposing in the end.
In a modern Linux system the user will rarely see an application that
exposes ALSA directly unless they go looking (in an embedded system they
may not be able to go looking due to the limits of the UI), they'll see
a higher level abstraction. In the desktop case the primary interface
the user has is with GUIs that control PulseAudio which abstract away
the actual control offered by the drivers. Embedded systems tend to
either use Pulse or brew their own equivalent.
next prev parent reply other threads:[~2011-03-09 9:55 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-07 1:11 [PATCH] Add driver for Analog Devices ADAU1701 SigmaDSP cliff.cai
2011-03-07 2:44 ` [Device-drivers-devel] " Mike Frysinger
2011-03-07 11:44 ` Mark Brown
2011-03-07 11:01 ` Liam Girdwood
2011-03-07 11:41 ` Mark Brown
2011-03-07 11:50 ` [Device-drivers-devel] " Mike Frysinger
2011-03-07 12:15 ` Mark Brown
2011-03-07 12:29 ` Mike Frysinger
2011-03-07 14:59 ` Mark Brown
2011-03-07 15:33 ` Mike Frysinger
2011-03-07 15:55 ` Mark Brown
2011-03-09 6:08 ` Mike Frysinger
2011-03-09 7:39 ` Cliff Cai
2011-03-09 9:55 ` Mark Brown [this message]
2011-04-19 0:15 ` Andres Salomon
2011-04-19 8:06 ` Mark Brown
2011-03-09 7:25 ` Cliff Cai
2011-03-09 10:00 ` Mark Brown
2011-03-10 0:35 ` Mike Frysinger
2011-03-10 9:45 ` [alsa-devel] " Cai, Cliff
2011-03-10 13:46 ` Mark Brown
2011-03-11 7:54 ` [alsa-devel] " Cai, Cliff
2011-03-11 11:53 ` Mark Brown
2011-03-14 2:23 ` [alsa-devel] " Cai, Cliff
2011-03-14 11:29 ` Mark Brown
2011-03-09 7:04 ` Cliff Cai
2011-03-09 10:12 ` Mark Brown
2011-03-10 10:04 ` [alsa-devel] " Cai, Cliff
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=20110309095506.GA6923@opensource.wolfsonmicro.com \
--to=broonie@opensource.wolfsonmicro.com \
--cc=akpm@linux-foundation.org \
--cc=alsa-devel@alsa-project.org \
--cc=cliff.cai@analog.com \
--cc=device-drivers-devel@blackfin.uclinux.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lrg@slimlogic.co.uk \
--cc=vapier.adi@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).