[alsa-devel] Disable DAPM for click avoidance ?

Mark Brown broonie at kernel.org
Wed Nov 22 17:13:15 CET 2017


On Wed, Nov 22, 2017 at 01:33:37PM +0100, Ricard Wanderlof wrote:

Always CC maintainers on postings if you want them to be reliably
seen...

> I'm having an issue with a codec where the normal DAPM procedure of 
> disabling most of the codec when there is no stream ongoing results in 
> large clicks when a playback stream starts and stops, because the output 
> jumps from 0V when the output is disabled to over a volt when the output 
> is enabled. 

> There appears to be a 'slow stop/start' feature in the codec, however, it 
> takes about one second to ramp up and down the output voltage, and that is 
> too long a delay when starting a stream.

The CODEC driver is broken, it shouldn't be powering off on idle if it
takes a second to ramp, it should be leaving VMID up while the system is
running - this is what the _STANDBY bias level is all about.  Look at
what older CODEC drivers like the wm8731 do.

> Another use for this feature is that we have had a lot of problems over 
> the years with buggy I2S interfaces misbehaving when streams are started 
> and stopped, and there would be an advantage to letting the AIF run the 
> whole time after startup.

This is why we've got the digital_mute() callback - the idea is that the
output is just going to be discarded until the interface has had a
chance to settle down.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20171122/be87d1e5/attachment.sig>


More information about the Alsa-devel mailing list