Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp839446pxb; Thu, 25 Feb 2021 17:08:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJwRz0jonFQJdv+q6PrvXSY3hciGMpdbApsSuMfMytkgDgdR5G6qrYjMXUgYDNdFOyRYEj4l X-Received: by 2002:a17:906:2755:: with SMTP id a21mr474173ejd.374.1614301687453; Thu, 25 Feb 2021 17:08:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614301687; cv=none; d=google.com; s=arc-20160816; b=aYJ3eNkP81qNZrKgmQFNnqfcMAJgeE/GBZfLpeuy93n6akZj5/4OxH4ZsP0etInksT hh5t8UVv74z3d5xuqulOH32vU/9JlAFbljCUTudByq0+Vb0pwl7e0Ip+EoAQd3Klab+J D7lGvZdUl1sUpVGvf09BPlNNEpKMTQ9Rcrwl264vkFVONqadZisJrbkTXK0C8YbyG+2k FJpMHLtpDu5K0U6vt+yauUhl4BT/2LW3IPS4X+E4se4L0j+oxRC3uRUpNgf+HXXDdS2Y z7dDDXtFkkJEOO3vrVVm//pKRjuW70tuOQyJgk6YTVJk3w1uzFU5rXqNiN/AN6kXzM8S XQ2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=AM+88DHTh1jBeC8Rnvn4gHW8uw7aemN2b+9Q3IHzGFw=; b=GRSg7QPlrhISdvNfU3d5ZAHYXCWPrSYaZ/D3tRr94umNm4aisz2te+34URYRkBcB3j 6v8bM9KnDbYuoa/TccXFiuMr+GbOqFNlyJWdO8Gq07mc3RhChGy/UYs/WDxHxXcwHmvw VoRxTCc5xplrUTOidQCTm9Ft3HAJHuoSX0qGiG0z/oIBo45PihAmCxanBs8ElnNO/06B tdctIC3E+NkIKhwspKimpZ8insGjFlfQ8v/lobeNaV5gsOevTY0r56mLQu5f+at+oGkz j2oX7XSvoclOqIFT0U7LcTfRMLUqC7MN3qawf0QNw3K3XEEAYPklKhY9ZReougDAp5Uw npTQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y25si4710205ejw.264.2021.02.25.17.07.45; Thu, 25 Feb 2021 17:08:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232397AbhBZBGJ (ORCPT + 99 others); Thu, 25 Feb 2021 20:06:09 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:55784 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232429AbhBZBFm (ORCPT ); Thu, 25 Feb 2021 20:05:42 -0500 Received: from 111-240-144-61.dynamic-ip.hinet.net ([111.240.144.61] helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1lFRYr-0000e4-Qy; Fri, 26 Feb 2021 01:04:54 +0000 From: chris.chiu@canonical.com To: tiwai@suse.com, kailang@realtek.com, jhp@endlessos.org, kai.heng.feng@canonical.com Cc: hui.wang@canonical.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Chris Chiu Subject: [PATCH v2] ALSA: hda/realtek: Enable headset mic of Acer SWIFT with ALC256 Date: Fri, 26 Feb 2021 09:04:40 +0800 Message-Id: <20210226010440.8474-1-chris.chiu@canonical.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chris Chiu The Acer SWIFT Swift SF314-54/55 laptops with ALC256 cannot detect both the headset mic and the internal mic. Introduce new fixup to enable the jack sense and the headset mic. However, the internal mic actually connects to Intel SST audio. It still needs Intel SST support to make internal mic capture work. Signed-off-by: Chris Chiu --- v1 -> v2: remove unnecessary aamix fixup sound/pci/hda/patch_realtek.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 1927605f0f7e..4871507cd4bf 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6406,6 +6406,7 @@ enum { ALC236_FIXUP_DELL_AIO_HEADSET_MIC, ALC282_FIXUP_ACER_DISABLE_LINEOUT, ALC255_FIXUP_ACER_LIMIT_INT_MIC_BOOST, + ALC256_FIXUP_ACER_HEADSET_MIC, }; static const struct hda_fixup alc269_fixups[] = { @@ -7853,6 +7854,16 @@ static const struct hda_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC255_FIXUP_ACER_MIC_NO_PRESENCE, }, + [ALC256_FIXUP_ACER_HEADSET_MIC] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x19, 0x02a1113c }, /* use as headset mic, without its own jack detect */ + { 0x1a, 0x90a1092f }, /* use as internal mic */ + { } + }, + .chained = true, + .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC + }, }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -7879,9 +7890,11 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", ALC299_FIXUP_PREDATOR_SPK), SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox", ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS), SND_PCI_QUIRK(0x1025, 0x1248, "Acer Veriton N4660G", ALC269VC_FIXUP_ACER_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1025, 0x1269, "Acer SWIFT SF314-54", ALC256_FIXUP_ACER_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), + SND_PCI_QUIRK(0x1025, 0x129c, "Acer SWIFT SF314-55", ALC256_FIXUP_ACER_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x1308, "Acer Aspire Z24-890", ALC286_FIXUP_ACER_AIO_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x132a, "Acer TravelMate B114-21", ALC233_FIXUP_ACER_HEADSET_MIC), SND_PCI_QUIRK(0x1025, 0x1330, "Acer TravelMate X514-51T", ALC255_FIXUP_ACER_HEADSET_MIC), -- 2.20.1