lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 007/452] ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
    Date
    From: Marios Levogiannis <marios.levogiannis@gmail.com>

    commit 9bfa7b36343c7d84370bc61c9ed774635b05e4eb upstream.

    Set microphone pins 0x18 (rear) and 0x19 (front) to VREF_50 to fix the
    microphone noise on ASUS TUF B550M-PLUS which uses the ALCS1200A codec.
    The initial value was VREF_80.

    The same issue is also present on Windows using both the default Windows
    driver and all tested Realtek drivers before version 6.0.9049.1. Comparing
    Realtek driver 6.0.9049.1 (the first one without the microphone noise) to
    Realtek driver 6.0.9047.1 (the last one with the microphone noise)
    revealed that the fix is the result of setting pins 0x18 and 0x19 to
    VREF_50.

    This fix may also work for other boards that have been reported to have
    the same microphone issue and use the ALC1150 and ALCS1200A codecs, since
    these codecs are similar and the fix in the Realtek driver on Windows is
    common for both. However, it is currently enabled only for ASUS TUF
    B550M-PLUS as this is the only board that could be tested.

    Signed-off-by: Marios Levogiannis <marios.levogiannis@gmail.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20220530074131.12258-1-marios.levogiannis@gmail.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    sound/pci/hda/patch_realtek.c | 10 ++++++++++
    1 file changed, 10 insertions(+)

    --- a/sound/pci/hda/patch_realtek.c
    +++ b/sound/pci/hda/patch_realtek.c
    @@ -1990,6 +1990,7 @@ enum {
    ALC1220_FIXUP_CLEVO_PB51ED_PINS,
    ALC887_FIXUP_ASUS_AUDIO,
    ALC887_FIXUP_ASUS_HMIC,
    + ALCS1200A_FIXUP_MIC_VREF,
    };

    static void alc889_fixup_coef(struct hda_codec *codec,
    @@ -2535,6 +2536,14 @@ static const struct hda_fixup alc882_fix
    .chained = true,
    .chain_id = ALC887_FIXUP_ASUS_AUDIO,
    },
    + [ALCS1200A_FIXUP_MIC_VREF] = {
    + .type = HDA_FIXUP_PINCTLS,
    + .v.pins = (const struct hda_pintbl[]) {
    + { 0x18, PIN_VREF50 }, /* rear mic */
    + { 0x19, PIN_VREF50 }, /* front mic */
    + {}
    + }
    + },
    };

    static const struct snd_pci_quirk alc882_fixup_tbl[] = {
    @@ -2572,6 +2581,7 @@ static const struct snd_pci_quirk alc882
    SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601),
    SND_PCI_QUIRK(0x1043, 0x84bc, "ASUS ET2700", ALC887_FIXUP_ASUS_BASS),
    SND_PCI_QUIRK(0x1043, 0x8691, "ASUS ROG Ranger VIII", ALC882_FIXUP_GPIO3),
    + SND_PCI_QUIRK(0x1043, 0x8797, "ASUS TUF B550M-PLUS", ALCS1200A_FIXUP_MIC_VREF),
    SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", ALC882_FIXUP_NO_PRIMARY_HP),
    SND_PCI_QUIRK(0x104d, 0x9044, "Sony VAIO AiO", ALC882_FIXUP_NO_PRIMARY_HP),
    SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT),

    \
     
     \ /
      Last update: 2022-06-07 19:23    [W:2.070 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site