[alsa-devel] [PATCH v2] tlv320aic3x: disable ADC/DAC while changing clock

Mark Brown broonie at sirena.org.uk
Wed Apr 1 18:48:47 CEST 2009

On Wed, Apr 01, 2009 at 06:21:19PM +0200, Daniel Gl?ckner wrote:
> On 04/01/2009 05:24 PM, Mark Brown wrote:
> > In that case rather than using a trigger to check if the device is
> > running it should be possible to use constraints to prevent
> > reconfiguration of the device when it's not supported - this is more
> > friendly to apps since they know they won't be allowed to change the
> > configuration.

> It was my impression that it is up to the pcm part to install these
> constraints as this is where SNDRV_PCM_INFO_JOINT_DUPLEX can be put into
> the snd_pcm_hardware structure.

JOINT_DUPLEX is just a hint to the application about how the card will
behave - you still need to enforce the actual constraints you have in
the driver.  In any case, the PCM driver shouldn't be setting that
unless it has such a constraint itself since it should work with the
widest possible range of systems.

> > Hrm.  For the ADC that's probably OK but powering off the DAC does risk
> > being audible in the output; that does depend on the hardware, though.
> > It should do the right thing, I think, but checking for audio artefacts
> > would be advisable.

> I can't hear any artefacts with my cheap headphones.
> The delayed close is audible, though.

Probably due to something else in the output path powerdown (eg, the
output stages).  If it happens without the change to power down the DAC
it's a separate issue :)

> - and one to fix the bug

This sounds like a good plan.  Please put something explaining the
failure scenario in the comments so anyone pulling the PLL configuration
out for machine drivers doesn't get suprised by this.

More information about the Alsa-devel mailing list