Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2750907ybz; Sun, 3 May 2020 08:27:13 -0700 (PDT) X-Google-Smtp-Source: APiQypLtks93VbaH3VCGve+otZg38MkabU/Jd9iLaR5giea4VBJPMxopyDAG7a571XL1czFDLgJ5 X-Received: by 2002:a17:906:dc02:: with SMTP id yy2mr11054509ejb.11.1588519633193; Sun, 03 May 2020 08:27:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588519633; cv=none; d=google.com; s=arc-20160816; b=V/pddYvVV0YIAhZE9r6ABDI+DZ8Jf1hQ9pQOg5/nwqXDQTacsJxCZyeMya/tdFNNaD o3h/Ez9EQMgibgxs5pG9Qm95ZFl6qg/6rM+2EhnP1Is6w6pwAdRqOtGPHvN83fKKmvdm YW6wyEPnAzMU2z3tN9jLU6hWYfwGGqqPnIWNqidedKuBikQ+ZIQnJWQ7H5Yb57KaMPAt 3sKT9j6B35aRFjWBI6AVzts8tIzWk7oj77J7/Rj7sl0mbZjR/4rcX1AT8F0q+ACfKFE3 KLguq6uBx2R6FvcdzFRXSmUiJrxD5VAzfej+xG98MB5SHcrtQ5T0PVEAB4zO70caSNCB NDNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=MAXAj+ILedUyKaGUFKs8x8GBMm+/3gzu/3LZCJpmCtc=; b=XgB+hKMvEImZjsTryg1temeZc8D49nfPI2n5rswaZi3VN6CFL+p0DDuurKHoKWEHQP knTDrVU4Vm0691oZtsRtLW743Q6qZ5flFUDOhfIRYm+pVjkybaoxdqJKovPtV8gzVZCm RFEMIx2EOUoWNlGZNfHnIeQSjTkvzjNHXt6zfLE2OAl9t88MIFACTo9Hht115a+DZkAZ tBpUpqKGL/1inx+cuUMilKQROXwn54a+yvQAlxu18ERaNkladnT7LT6eMd271jVapIc3 7VEw/dDxr3Zb7o/xMauMHeNvuceBRZZkZXkLWQjPAelttBPzdp+/qr8NNeYk3keltQ+n p8jQ== 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 d10si5053626edq.344.2020.05.03.08.26.50; Sun, 03 May 2020 08:27:13 -0700 (PDT) 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 S1728775AbgECPZU (ORCPT + 99 others); Sun, 3 May 2020 11:25:20 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:36639 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728685AbgECPZU (ORCPT ); Sun, 3 May 2020 11:25:20 -0400 Received: from 61-220-137-37.hinet-ip.hinet.net ([61.220.137.37] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jVGUK-0004cA-W7; Sun, 03 May 2020 15:25:05 +0000 From: Kai-Heng Feng To: tiwai@suse.com Cc: David_chen7@dell.com, Kai-Heng Feng , Jaroslav Kysela , Kailang Yang , Hui Wang , Jian-Hong Pan , Tomas Espeleta , Thomas Hebb , =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?= , alsa-devel@alsa-project.org (moderated list:SOUND), linux-kernel@vger.kernel.org (open list) Subject: [PATCH 2/2] ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse Date: Sun, 3 May 2020 23:24:47 +0800 Message-Id: <20200503152449.22761-2-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200503152449.22761-1-kai.heng.feng@canonical.com> References: <20200503152449.22761-1-kai.heng.feng@canonical.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit 317d9313925c ("ALSA: hda/realtek - Set default power save node to 0") makes the ALC225 have pop noise on S3 resume and cold boot. The previous fix enable power save node universally for ALC225, however it makes some ALC225 systems unable to produce any sound. So let's only enable power save node for the affected Dell Wyse platform. Fixes: 317d9313925c ("ALSA: hda/realtek - Set default power save node to 0") BugLink: https://bugs.launchpad.net/bugs/1866357 Signed-off-by: Kai-Heng Feng --- sound/pci/hda/patch_realtek.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index dedf0c17f198..c34b8843bb25 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -5893,6 +5893,15 @@ static void alc233_alc662_fixup_lenovo_dual_codecs(struct hda_codec *codec, } } +static void alc225_fixup_s3_pop_noise(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action != HDA_FIXUP_ACT_PRE_PROBE) + return; + + codec->power_save_node = 1; +} + /* Forcibly assign NID 0x03 to HP/LO while NID 0x02 to SPK for EQ */ static void alc274_fixup_bind_dacs(struct hda_codec *codec, const struct hda_fixup *fix, int action) @@ -6082,6 +6091,7 @@ enum { ALC233_FIXUP_ACER_HEADSET_MIC, ALC294_FIXUP_LENOVO_MIC_LOCATION, ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE, + ALC225_FIXUP_S3_POP_NOISE, ALC700_FIXUP_INTEL_REFERENCE, ALC274_FIXUP_DELL_BIND_DACS, ALC274_FIXUP_DELL_AIO_LINEOUT_VERB, @@ -6969,6 +6979,12 @@ static const struct hda_fixup alc269_fixups[] = { { } }, .chained = true, + .chain_id = ALC225_FIXUP_S3_POP_NOISE + }, + [ALC225_FIXUP_S3_POP_NOISE] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc225_fixup_s3_pop_noise, + .chained = true, .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC }, [ALC700_FIXUP_INTEL_REFERENCE] = { -- 2.17.1