[alsa-devel] [PATCH v3] ASoC: fsl: imx-wm8962: Grant hw_params/free() permission to control FLL

Mark Brown broonie at kernel.org
Tue Dec 17 23:50:02 CET 2013


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20131217/a509a728/attachment.sig>


More information about the Alsa-devel mailing list