• Clemens Ladisch's avatar
    ALSA: oxygen: fix distorted output on AK4396-based cards · df91bc23
    Clemens Ladisch authored
    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: default avatarClemens Ladisch <clemens@ladisch.de>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    df91bc23
oxygen.c 10.2 KB