• Takashi Iwai's avatar
    ALSA: hda - Don't access stereo amps for mono channel widgets · b38d399f
    Takashi Iwai authored
    commit ef403edb upstream.
    
    The current HDA generic parser initializes / modifies the amp values
    always in stereo, but this seems causing the problem on ALC3229 codec
    that has a few mono channel widgets: namely, these mono widgets react
    to actions for both channels equally.
    
    In the driver code, we do care the mono channel and create a control
    only for the left channel (as defined in HD-audio spec) for such a
    node.  When the control is updated, only the left channel value is
    changed.  However, in the resume, the right channel value is also
    restored from the initial value we took as stereo, and this overwrites
    the left channel value.  This ends up being the silent output as the
    right channel has been never touched and remains muted.
    
    This patch covers the places where unconditional stereo amp accesses
    are done and converts to the conditional accesses.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94581Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
    b38d399f
hda_generic.c 145 KB