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 <[email protected] >
Cc: <[email protected] >
Signed-off-by: Takashi Iwai <[email protected] >
2018-10-29 16:59:06 +01:00
..
ac97
ALSA: pci: Remove empty init and exit
2018-08-03 16:11:48 +02:00
ali5451
ALSA: ali5451: remove redundant pointer 'codec'
2018-07-16 14:30:33 +02:00
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
ALSA: cs5535audio: remove redundant pointer 'dma'
2018-08-01 13:59:29 +02:00
ctxfi
ALSA: ctxfi: cthw20k2: Replace mdelay() with msleep() and usleep_range()
2018-07-27 11:49:16 +02:00
echoaudio
ALSA: echoaudio: Mark expected switch fall-throughs
2018-08-06 09:33:45 +02:00
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
ALSA: pci: Remove empty init and exit
2018-08-03 16:11:48 +02:00
korg1212
ALSA: korg1212: Add __force annotation to cast in user-copy callbacks
2018-07-26 08:33:08 +02:00
lola
ALSA: lola: Proper endian notations
2018-07-27 09:06:05 +02:00
lx6464es
ALSA: lx6464es: Missing error code in snd_lx6464es_create()
2018-06-21 11:04:42 +02:00
mixart
ALSA: mixart: Mark expected switch fall-through
2018-08-09 08:52:04 +02:00
nm256
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
oxygen
ALSA: oxygen: use match_string() helper
2018-05-31 19:42:48 +02:00
pcxhr
sound: Use octal not symbolic permissions
2018-05-28 11:27:20 +02:00
riptide
ALSA: riptide: Properly endian notations
2018-07-27 09:06:02 +02:00
rme9652
ALSA: hdspm: fix spelling mistake "Initializeing" -> "Initializing"
2018-08-27 11:05:39 +02:00
trident
ALSA: trident: Proper endian notations
2018-07-27 09:06:00 +02:00
vx222
ALSA: vx222: Fix invalid endian conversions
2018-07-26 08:23:28 +02:00
ymfpci
ALSA: ymfpci: Proper endian notations
2018-07-27 09:05:58 +02:00
ad1889.c
ALSA: ad1889: Replace mdelay with usleep_range in snd_ad1889_ac97_ready
2018-04-16 13:49:09 +02:00
ad1889.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
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
ALSA: atiixp_modem: Proper endian notations
2018-07-27 09:06:13 +02:00
azt3328.c
azt3328.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
bt87x.c
ALSA: bt87x: Proper endian notations
2018-07-27 09:06:11 +02:00
cmipci.c
ALSA: cmipci: Allocate with GFP_KERNEL instead of GFP_ATOMIC
2018-04-16 14:01:31 +02:00
cs4281.c
cs5530.c
ens1370.c
ALSA: ens137x: remove redundant array pcm_devs
2018-08-01 13:59:58 +02:00
ens1371.c
es1938.c
es1968.c
fm801.c
ALSA: fm801: add error handling for snd_ctl_add
2018-06-11 15:21:19 +02:00
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
Kconfig
docs: Fix some broken references
2018-06-15 18:10:01 -03:00
maestro3.c
ALSA: maestro3: Proper endian notations
2018-07-27 09:06:08 +02:00
Makefile
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
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
ALSA: sonicvibes: remove redundant pointer 'dir'
2018-08-01 14:00:13 +02:00
via82xx.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
via82xx_modem.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00