Received: by 10.213.65.68 with SMTP id h4csp522515imn; Fri, 16 Mar 2018 10:17:59 -0700 (PDT) X-Google-Smtp-Source: AG47ELvKmNtJDlzK1o6cBnYybhgRen1wwf0M6raBjEwfW3p4xm9nCzvwqwrLHRtH8DHEwKzwcdaA X-Received: by 2002:a17:902:a24:: with SMTP id 33-v6mr2427582plo.72.1521220679282; Fri, 16 Mar 2018 10:17:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521220679; cv=none; d=google.com; s=arc-20160816; b=nrY93AYD50LclGvBQkBry/IhMCFxOUmNmfQp8/bXcG9TRxD0xWLiI3dsCYH7Xt5MKM kMOfHps7m2+vBmaSnqzRvd76EK6W8V8anrUgptRbIo9WqEXcCEgxe7WfKmlP6oMP62L8 sUH9sZq9O93GVs5370Qq7CtXFj0GkN6DSqzZpHTzYpMZ28vSRIGLcIn8trC7h86k1dW1 JNRm1uaSVvppMc51imolx8KWjBkeOy3HrvzY7ANpvC4frDtVoecp/a6CsiK2zm6bPFzL xVXJSYDtSWwHwxOtgQYm0f6DFlZvhBElgtMEv1+ZPLm3FofioH5h1oJKYPRZ0etrFTjZ 5uIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=pKA4/lYTArOvtBdn7Gby0R19TBBr/FvhlicNlrcC814=; b=wJzI6h7QXy/xcJqmKwe91ewnn+a3JKf7kX4pngL77VVBTqY0noVw91kOrmWTHuTpaP zkU6i5cOg5wGkaPoXmELFUKVJSvcv1dpPPtjC+H5J57c9MA5d8IrRjPsKcolfCeW6Tn5 z5T+NfLyHh2C5bERhwyDlPn1/gfsqsfIALP1rh/3C/m3+SCLKMNzT+u+R9vL8efG4n4d D3dDyTV1gI+Rv3tbgEpdeXsmhHV2ciC/NLI4bBtQ2+XgcMPeWc9iV/nwpp6zLnKTq1VC H3c4INXmHVIcXZPRliTBjtXA0aCm6zSSXMX/XnmGt+Jx1teN5mJAP1WA0ziigczUeaBG /zyA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w9-v6si6296318plp.425.2018.03.16.10.17.44; Fri, 16 Mar 2018 10:17:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753757AbeCPRQA (ORCPT + 99 others); Fri, 16 Mar 2018 13:16:00 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:37350 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933303AbeCPPbE (ORCPT ); Fri, 16 Mar 2018 11:31:04 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 034951186; Fri, 16 Mar 2018 15:31:01 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Iwai Subject: [PATCH 4.9 32/86] ALSA: hda/realtek - Fix dock line-out volume on Dell Precision 7520 Date: Fri, 16 Mar 2018 16:22:55 +0100 Message-Id: <20180316152319.575045541@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180316152317.167709497@linuxfoundation.org> References: <20180316152317.167709497@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Takashi Iwai commit e312a869cd726c698a75caca0d9e5c22fd3f1534 upstream. The dock line-out pin (NID 0x17 of ALC3254 codec) on Dell Precision 7520 may route to three different DACs, 0x02, 0x03 and 0x06. The first two DACS have the volume amp controls while the last one doesn't. And unfortunately, the auto-parser assigns this pin to DAC3, resulting in the non-working volume control for the line out. Fix it by disabling the routing to DAC3 on the corresponding pin. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199029 Cc: Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/pci/hda/patch_realtek.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -4760,6 +4760,16 @@ static void alc298_fixup_speaker_volume( } } +/* disable DAC3 (0x06) selection on NID 0x17 as it has no volume amp control */ +static void alc295_fixup_disable_dac3(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action == HDA_FIXUP_ACT_PRE_PROBE) { + hda_nid_t conn[2] = { 0x02, 0x03 }; + snd_hda_override_conn_list(codec, 0x17, 2, conn); + } +} + /* Hook to update amp GPIO4 for automute */ static void alc280_hp_gpio4_automute_hook(struct hda_codec *codec, struct hda_jack_callback *jack) @@ -4909,6 +4919,7 @@ enum { ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY, ALC255_FIXUP_DELL_SPK_NOISE, ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, + ALC295_FIXUP_DISABLE_DAC3, ALC280_FIXUP_HP_HEADSET_MIC, ALC221_FIXUP_HP_FRONT_MIC, ALC292_FIXUP_TPT460, @@ -5601,6 +5612,10 @@ static const struct hda_fixup alc269_fix .chained = true, .chain_id = ALC298_FIXUP_DELL_AIO_MIC_NO_PRESENCE, }, + [ALC295_FIXUP_DISABLE_DAC3] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc295_fixup_disable_dac3, + }, [ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { @@ -5664,6 +5679,7 @@ static const struct snd_pci_quirk alc269 SND_PCI_QUIRK(0x1028, 0x0725, "Dell Inspiron 3162", ALC255_FIXUP_DELL_SPK_NOISE), SND_PCI_QUIRK(0x1028, 0x075b, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE), SND_PCI_QUIRK(0x1028, 0x075d, "Dell AIO", ALC298_FIXUP_SPK_VOLUME), + SND_PCI_QUIRK(0x1028, 0x07b0, "Dell Precision 7520", ALC295_FIXUP_DISABLE_DAC3), SND_PCI_QUIRK(0x1028, 0x0798, "Dell Inspiron 17 7000 Gaming", ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER), SND_PCI_QUIRK(0x1028, 0x082a, "Dell XPS 13 9360", ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE), SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),