alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Andres Salomon <dilinger@queued.net>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: cliff.cai@analog.com, Mike Frysinger <vapier.adi@gmail.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: Mon, 18 Apr 2011 17:15:05 -0700	[thread overview]
Message-ID: <20110418171505.4b1699f3@queued.net> (raw)
In-Reply-To: <20110307145931.GK13471@opensource.wolfsonmicro.com>

On Mon, 7 Mar 2011 14:59:31 +0000
Mark Brown <broonie@opensource.wolfsonmicro.com> wrote:

> On Mon, Mar 07, 2011 at 07:29:12AM -0500, Mike Frysinger wrote:
> > On Mon, Mar 7, 2011 at 07:15, Mark Brown wrote:
> 
[...]
> 
> > > Right, and this isn't a particularly unusual requirement
> > > especially if the driver isn't going to have any ability to
> > > interact with the DSP (at which point it's just coefficient data,
> > > the fact that it's a DSP program is uninteresting).  The problem
> > > is that this isn't a great interface for doing that.
> 
> > i dont see suggestions of a better interface anywhere ...
> 
> It currently isn't and I'd encourage you to contribute to the
> discussion that's been going on on this, or even better help out with
> code.  There was some discussion on the list recently (in the past
> month IIRC).
> 
> Whatever we do is going to require some additional APIs in alsa-lib,
> I'd expect.  The key requirements I'm aware of are that we be able to
> support:
> 
>  - Discoverable userspace interface.
>  - Very large data sizes (megabytes have been mentioned).
>  - Adding and removing parameter sets at runtime (for in system
>    callibration).
> 
> Given the number of people looking at this from various angles I'd
> expect to see some sort of progress this year (probably in the next
> quater or so), but obviously no guarantees.

Out of curiosity, has any progress been made on this?

> 
> > wrt pm, that's a trivial programming issue that would be resolved in
> > the driver.  userspace need not care.
> 
> That's the ideal, I mentioned this as several of my other review
> comments concerned issues with power management in the driver -
> addressing those will probably require that the integration occur.
> 
> > wrt stream flows, all the customers we've talked to are fine with
> > this -- having stream control be an application issue.  their
> > application is driving the codec directly and knows when it needs
> > to change the firmware, so it pauses its alsa flow, loads the new
> > firmware, and moves on.

What would actually cause the firmware to change?  Would the userspace
application that's currently driving the codec know that it needs to
load a new firmware, or will there be multiple applications potentially
interacting with the codec (with only one driving it, and another
deciding that the firmware should change)?

One can imagine two different types of APIs depending upon the answers
to those questions.  If the application driving the codec is also
changing the firmware, a simple 'echo new_firmware_name.bin >
/sys/.../filter_coeff' (or equivalent ALSA function)
to cause something in alsa core to stop/pause/mute playback or capture
and restart everything after the firmware has been loaded is all that's
necessary.  That is, userspace triggers the firmware loading.
However, if multiple applications are going to be interacting with
the codec, I'd imagine we'd need something more complex; perhaps a hook
in snd_soc_dai_ops that's called anytime stream state changes?  That
would leave userspace no longer able to explicitly trigger a reload, but
leave the driver smart enough to ensure that when a new firmware is
available, it will be loaded once it is safe to do so (a break in
userspace codec usage).
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  parent reply	other threads:[~2011-04-19  0:15 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
2011-04-19  0:15           ` Andres Salomon [this message]
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=20110418171505.4b1699f3@queued.net \
    --to=dilinger@queued.net \
    --cc=akpm@linux-foundation.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --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).