]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
ASoC: adau17x1: Workaround for noise bug in ADC
authorRicard Wanderlof <ricard.wanderlof@axis.com>
Thu, 7 Sep 2017 13:31:38 +0000 (15:31 +0200)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Thu, 16 Nov 2017 13:23:33 +0000 (11:23 -0200)
commit277205105e03a6d26b8af2599e30ed6a8abe8028
tree56536c9ef7c5e7ca66962c652a2b6a5ef1b57af6
parent036eea54818474bb94db7ba54a7cc690b2f3b2ff
ASoC: adau17x1: Workaround for noise bug in ADC

BugLink: http://bugs.launchpad.net/bugs/1731971
commit 1e6f4fc06f6411adf98bbbe7fcd79442cd2b2a75 upstream.

The ADC in the ADAU1361 (and possibly other Analog Devices codecs)
exhibits a cyclic variation in the noise floor (in our test setup between
-87 and -93 dB), a new value being attained within this range whenever a
new capture stream is started. The cycle repeats after about 10 or 11
restarts.

The workaround recommended by the manufacturer is to toggle the ADOSR bit
in the Converter Control 0 register each time a new capture stream is
started.

I have verified that the patch fixes this problem on the ADAU1361, and
according to the manufacturer toggling the bit in question in this manner
will at least have no detrimental effect on other chips served by this
driver.

Signed-off-by: Ricard Wanderlof <ricardw@axis.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
sound/soc/codecs/adau17x1.c
sound/soc/codecs/adau17x1.h