WSL2-Linux-Kernel/sound/pci
Alex Stanoev ac237c28d5 ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops
The Creative Audigy SE (SB0570) card currently exhibits an audible pop
whenever playback is stopped or resumed, or during silent periods of an
audio stream. Initialise the IZD bit to the 0 to eliminate these pops.

The Infinite Zero Detection (IZD) feature on the DAC causes the output
to be shunted to Vcap after 2048 samples of silence. This discharges the
AC coupling capacitor through the output and causes the aforementioned
pop/click noise.

The behaviour of the IZD bit is described on page 15 of the WM8768GEDS
datasheet: "With IZD=1, applying MUTE for 1024 consecutive input samples
will cause all outputs to be connected directly to VCAP. This also
happens if 2048 consecutive zero input samples are applied to all 6
channels, and IZD=0. It will be removed as soon as any channel receives
a non-zero input". I believe the second sentence might be referring to
IZD=1 instead of IZD=0 given the observed behaviour of the card.

This change should make the DAC initialisation consistent with
Creative's Windows driver, as this popping persists when initialising
the card in Linux and soft rebooting into Windows, but is not present on
a cold boot to Windows.

Signed-off-by: Alex Stanoev <alex@astanoev.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-10-29 16:59:06 +01:00
..
ac97
ali5451
asihpi ALSA: asihpi: don't pass GFP_DMA32 to dma_alloc_coherent 2018-10-14 09:40:24 +02:00
au88x0 ALSA: au88xx: Add fall-through annotations 2018-10-12 09:31:34 +02:00
aw2
ca0106 ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops 2018-10-29 16:59:06 +01:00
cs46xx ALSA: cs46xx: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag 2018-09-04 12:13:40 +02:00
cs5535audio
ctxfi
echoaudio
emu10k1 Merge branch 'for-linus' into for-next 2018-10-04 07:53:06 +02:00
hda ASoC: Updates for v5.0/v4.20 2018-10-22 23:26:37 +02:00
ice1712
korg1212
lola
lx6464es
mixart
nm256
oxygen
pcxhr
riptide
rme9652 ALSA: hdspm: fix spelling mistake "Initializeing" -> "Initializing" 2018-08-27 11:05:39 +02:00
trident
vx222
ymfpci
Kconfig
Makefile
ad1889.c
ad1889.h
ak4531_codec.c
als300.c
als4000.c
atiixp.c ALSA: atiixp: fix fall-through annotations 2018-09-14 15:27:04 +02:00
atiixp_modem.c
azt3328.c
azt3328.h
bt87x.c
cmipci.c
cs4281.c
cs5530.c
ens1370.c
ens1371.c
es1938.c
es1968.c
fm801.c
intel8x0.c ALSA: intel8x0: Fix fall-through annotations 2018-10-03 17:42:55 +02:00
intel8x0m.c ALSA: intel8x0m: Register irq handler after register initializations 2018-09-13 07:58:43 +02:00
maestro3.c
rme32.c ALSA: rme32: Use SNDRV_PCM_INFO_SYNC_APPLPTR info flag 2018-09-04 12:13:09 +02:00
rme96.c
sis7019.c
sis7019.h
sonicvibes.c
via82xx.c
via82xx_modem.c