All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@nokia.com>
To: alsa-devel@alsa-project.org
Cc: ext Mark Brown <broonie@opensource.wolfsonmicro.com>,
	"lrg@slimlogic.co.uk" <lrg@slimlogic.co.uk>
Subject: Re: [PATCH 4/4] ASoC: tlv320dac33: Support for turning off the codec in BIAS_STANDBY
Date: Fri, 30 Apr 2010 13:55:25 +0300	[thread overview]
Message-ID: <201004301355.25797.peter.ujfalusi@nokia.com> (raw)
In-Reply-To: <20100430102309.GD21607@sirena.org.uk>

On Friday 30 April 2010 13:23:10 ext Mark Brown wrote:
> On Fri, Apr 30, 2010 at 01:10:14PM +0300, Peter Ujfalusi wrote:
> > On Friday 30 April 2010 12:56:37 ext Mark Brown wrote:
> > > Then just use
> > > the hooks in the normal audio stream bringup/teardown surely?  It's
> > > possible that I'm missing something as a result of your list of use
> > > cases but I'd expect this to flow fairly naturally from the normal call
> > > flow.
> > 
> > The thing is, that I want to handle the chip power in one place, and
> > dac33_set_bias_level is a really good place for that.
> 
> Sure, but it shouldn't need to be worrying about playback at all.

Valid point ;)

> 
> > At the time when pcm_prepare is called the codec is still in OFF.
> > So I just postponed the dac33_prepare_chip call for later, when the codec
> > switches BIAS level.
> > Than I enable the power and if there is a stream, than I do the
> > preparation. Note: the BIAS level change is still within the pcm_prepare
> > call chain...
> 
> Surely a much more straightforward solution to this is just to add a
> post-DAPM prepare() callback to the DAI ops?  It seems like a perfectly
> reasonable thing to have that callback and it means you can rely on the
> existing mechanisms having taken care of the power for you.

Hmm, right... Well.
This is not going to work, I think.
I need to keep the dac33_pcm_prepare level of configuration for cases, when the 
codec is in ON and a playback is starting (and if the codec is not ON, than 
respond it for later, when it is switch on), right?
I _need_ to do the things, which is done in the dac33_prepare_chip function 
every time, when a stream is starting :(

Now, if I use DAPM_SUPPLY attached to the DAC:
If the codec has been brought up because the loopback is enabled, than the
dac33_prepare_chip will be called twice: once from dac33_pcm_prepare, and then 
from the SUPPLY event.
This might be also the case if I use the post-DAPM prepare (or pre)

I do agree, that it is not really nice to have playback related thing in the 
dac33_set_bias_level, but so far I think that is the only way to avoid 
additional hassle (which means more places to have error, problems).

> 
> > In this way I don't need to do any additional housekeeping while managing
> > the power of the codec.
> 
> My point here is that it seems like you need to do more housekeeping
> than you should :)

HeHe :)
My problem with that, is the additional house keeping needs more code, which 
usually means more place, where some corner case is not handled correctly.
Well, more code == more place for bugs ;)

> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

-- 
Péter

  reply	other threads:[~2010-04-30 10:56 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-30  7:31 [PATCH 0/4] ASoC: tlv320dac33: Support for turning codec off Peter Ujfalusi
2010-04-30  7:31 ` [PATCH 1/4] ASoC: tlv320dac33: Optimize power up, and restore Peter Ujfalusi
2010-04-30  7:37   ` Peter Ujfalusi
2010-04-30  7:31 ` [PATCH 2/4] ASoC: tlv320dac33: Revised module loading, and DAC33 ID read Peter Ujfalusi
2010-04-30  7:31 ` [PATCH 3/4] ASoC: tlv320dac33: Manage a pointer for snd_pcm_substream in private structure Peter Ujfalusi
2010-04-30  7:31 ` [PATCH 4/4] ASoC: tlv320dac33: Support for turning off the codec in BIAS_STANDBY Peter Ujfalusi
2010-04-30  8:41   ` Mark Brown
2010-04-30  9:45     ` Peter Ujfalusi
2010-04-30  9:56       ` Mark Brown
2010-04-30 10:10         ` Peter Ujfalusi
2010-04-30 10:23           ` [PATCH 4/4] ASoC: tlv320dac33: Support for?turning " Mark Brown
2010-04-30 10:55             ` Peter Ujfalusi [this message]
2010-04-30 11:42               ` [PATCH 4/4] ASoC: tlv320dac33: Support for turning " Mark Brown
2010-04-30 11:42               ` Peter Ujfalusi

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=201004301355.25797.peter.ujfalusi@nokia.com \
    --to=peter.ujfalusi@nokia.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=lrg@slimlogic.co.uk \
    /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.