]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: oxygen: fix distorted output on AK4396-based cards
authorClemens Ladisch <clemens@ladisch.de>
Fri, 29 Aug 2008 11:08:34 +0000 (13:08 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 29 Aug 2008 12:15:19 +0000 (14:15 +0200)
commit0cf32e4cd2d0a5634950a4aa970bd87a04db61be
treee74972c0522e55da1b027b60c4894c853a96a5ba
parent24654fd98253e1499c01c40ef743a2689971db6b
ALSA: oxygen: fix distorted output on AK4396-based cards

When changing the sample rate, the CMI8788's master clock output becomes
unstable for a short time.  The AK4396 needs the master clock to do SPI
writes, so writing to an AK4396 control register directly after a sample
rate change will garble the value.  In our case, this leads to the DACs
being misconfigured to I2S sample format, which results in a wrong
output level and horrible distortions on samples louder than -6 dB.

To fix this, we need to wait until the new master clock signal has
become stable before doing SPI writes.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/oxygen/hifier.c
sound/pci/oxygen/oxygen.c