• Alex Stanoev's avatar
    ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops · 9b5c0100
    Alex Stanoev authored
    BugLink: https://bugs.launchpad.net/bugs/1810947
    
    commit ac237c28 upstream.
    
    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: default avatarAlex Stanoev <alex@astanoev.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: default avatarJuerg Haefliger <juergh@canonical.com>
    Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
    9b5c0100
ca0106.h 37.2 KB