From: Nicolin Chen <Guangyu.Chen@freescale.com>
To: Mark Brown <broonie@kernel.org>
Cc: tiwai@suse.de, linux-kernel@vger.kernel.org,
alsa-devel@alsa-project.org, lgirdwood@gmail.com
Subject: Re: [PATCH v3] ASoC: fsl: imx-wm8962: Grant hw_params/free() permission to control FLL
Date: Wed, 18 Dec 2013 13:13:36 +0800 [thread overview]
Message-ID: <20131218051334.GA7648@MrMyself> (raw)
In-Reply-To: <20131217225002.GR28455@sirena.org.uk>
On Tue, Dec 17, 2013 at 10:50:02PM +0000, Mark Brown wrote:
> On Thu, Dec 12, 2013 at 05:59:28PM +0800, Nicolin Chen wrote:
>
> > + mask = WM8962_MIXINL_TO_HPMIXL_MASK | WM8962_MIXINR_TO_HPMIXL_MASK |
> > + WM8962_IN4L_TO_HPMIXL_MASK | WM8962_IN4R_TO_HPMIXL_MASK;
> > + bypass |= snd_soc_read(codec, WM8962_HEADPHONE_MIXER_1) & mask;
> > + bypass |= snd_soc_read(codec, WM8962_HEADPHONE_MIXER_2) & mask;
> > + bypass |= snd_soc_read(codec, WM8962_SPEAKER_MIXER_1) & mask;
> > + bypass |= snd_soc_read(codec, WM8962_SPEAKER_MIXER_2) & mask;
> > +
> > + /* Don't diable FLL if running multi-substreams or analogue bypass */
> > + if (codec_dai->active != 1 || bypass)
> > + return 0;
>
> I don't think this works with the power down delay we do on playback -
> the DAI will go inactive when closed but we'll still have the CODEC
> active and using its clocks until the power down time has elapsed if
> it's a playback DAI. Trying to reclock the device while active is at
> best risky, even if it's muted.
>
> I do think refcounting from both here and the bias level changes is
> going to be the most robust thing, that'd also avoid the need to peer
> into the CODEC register map.
I've tried count reference way to handle FLL enabler/disabler here before
I sent this version. But the result shows the FLL would be never disabled
in hw_free() because the refcount is accumulated to 2, one from hw_params()
and the other from set_bias_level(PREPARE), which just made this patch
meaningless to me.
So the reclocking with bypass checking seems to be the last resort I can
figure out right here as the playback flow for 'aplay -Dhw:0 44k16bit.wav
48k24bit.wav' does need to reprogram the FLL during CODEC active.
Thank you,
Nicolin Chen
next prev parent reply other threads:[~2013-12-18 5:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-12 9:59 [PATCH v3] ASoC: fsl: imx-wm8962: Grant hw_params/free() permission to control FLL Nicolin Chen
2013-12-17 22:50 ` Mark Brown
2013-12-18 5:13 ` Nicolin Chen [this message]
2013-12-18 11:57 ` Mark Brown
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=20131218051334.GA7648@MrMyself \
--to=guangyu.chen@freescale.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tiwai@suse.de \
/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).