Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp21583351rwd; Thu, 29 Jun 2023 19:06:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7YlVExVxpDLJT6efXsfU2yESdyeJ/0rgq0rN8hqL1AhXl0xs3Zzb7ObmwkaixNsY5VUWon X-Received: by 2002:a05:6808:21a6:b0:3a3:7b77:bb1c with SMTP id be38-20020a05680821a600b003a37b77bb1cmr1483418oib.19.1688090774801; Thu, 29 Jun 2023 19:06:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688090774; cv=none; d=google.com; s=arc-20160816; b=hyj3GJqXSxorYpya7QHPLyZXM43MnIUmwc85sDGs/0NsKd7ooAZGIVd7YYv/BWv3uO pxS+3CAN4LhXRXlIAGO4c5aNkWIxU/T0GCU74i8dNHuf8TY8i9occGVHwggZbsV9P67j uB4VRca3yMOHUBxIVudZQe0Ncc0BGaXAdcFTZqYB8nh7dEkJx4Dmjp3gwYCYVH0geL55 8BD5o22MfF5P5EaFQCuNHiUOrGanplaP7SA6oZFBIFUJ+qVMyfu2333qkp2+4t7eHLvA Bjz7SwQHCDj8C1chsXiEtnqYJUidkZsnY2J8eWlPB3jLD5E2cR50A0KFvzEJA8xwxw31 chsg== 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=5aTiABUhMYo2TqdtFy70ipXUbrfJM6+6unsY0QmcVEQ=; fh=L6uRqLANR/53YUx/8NpjVoKE667aJCLOnawoivFEm2s=; b=mYnfxHzXkiz1sVclSneTynfz8ZCZCb5tYXoHeNDTRFVlKlLWx28AJHkxYoMzbWjHyV eWyJcwHYv4v6eU4ozSah9IoUcVjyH5YYSRVnlYgc18StwghGATtmXHpp2L/21s4AE7g4 BVaVJ3YBxOEZRp3dt5fYK+lr9kW14VYuGjKCS38lsWEx/01q979dhkZmb5o4edO8qPQG JK9DEZZR0BUQExQEBuJP+3clmBXnQyDYhXtidAxcxtbntnR4NmmeDmMCBruKyym7a2lM 4DQ+G3/mqxwa/UWCeIg8JwmOOPFPIRs+GA3g3e0b+ROJtIgwuxfQG93JGQuxtdVLas8j N9Ng== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f50-20020a056a000b3200b00670db3b5032si9636214pfu.333.2023.06.29.19.06.00; Thu, 29 Jun 2023 19:06:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229936AbjF3B1U (ORCPT + 99 others); Thu, 29 Jun 2023 21:27:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229459AbjF3B1S (ORCPT ); Thu, 29 Jun 2023 21:27:18 -0400 Received: from mail.nfschina.com (unknown [42.101.60.195]) by lindbergh.monkeyblade.net (Postfix) with SMTP id 8CAB610E7 for ; Thu, 29 Jun 2023 18:27:15 -0700 (PDT) Received: from localhost.localdomain (unknown [180.167.10.98]) by mail.nfschina.com (Maildata Gateway V2.8.8) with ESMTPA id C459F606EE6F5; Fri, 30 Jun 2023 09:27:02 +0800 (CST) X-MD-Sfrom: dengxiang@nfschina.com X-MD-SrcIP: 180.167.10.98 From: dengxiang To: tiwai@suse.com, yangyingliang@huawei.com, perex@perex.cz Cc: linux-kernel@vger.kernel.org, dengxiang@nfschina.com Subject: [PATCH] ALSA: hda/realtek: Add quirks for Unis H3C Desktop B760 & Q760 Date: Fri, 30 Jun 2023 09:26:54 +0800 Message-Id: <20230630012654.2283715-1-dengxiang@nfschina.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,RDNS_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: 邓湘 These models use NSIWAY amplifiers for internal speaker, but cannot put sound outside from these amplifiers. So eapd verbs are needed to initialize the amplifiers. They can be added during boot to get working sound out of internal speaker. Signed-off-by: 邓湘 --- sound/pci/hda/patch_realtek.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index afe8253f9a4f..82f53af2d08a 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -11201,6 +11201,20 @@ static void alc897_fixup_lenovo_headset_mode(struct hda_codec *codec, } } +static const struct hda_verb alc897_unis_h3c_x500s_eapd_verbs[] = { + {0x14, AC_VERB_SET_EAPD_BTLENABLE, 0}, + { } +}; + +static void alc897_fixup_unis_h3c_x500s(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action != HDA_FIXUP_ACT_PRE_PROBE) + return; + + snd_hda_add_verbs(codec, alc897_unis_h3c_x500s_eapd_verbs); +} + static const struct coef_fw alc668_coefs[] = { WRITE_COEF(0x01, 0xbebe), WRITE_COEF(0x02, 0xaaaa), WRITE_COEF(0x03, 0x0), WRITE_COEF(0x04, 0x0180), WRITE_COEF(0x06, 0x0), WRITE_COEF(0x07, 0x0f80), @@ -11286,6 +11300,7 @@ enum { ALC897_FIXUP_HP_HSMIC_VERB, ALC897_FIXUP_LENOVO_HEADSET_MODE, ALC897_FIXUP_HEADSET_MIC_PIN2, + ALC897_FIXUP_UNIS_H3C_X500s, }; static const struct hda_fixup alc662_fixups[] = { @@ -11725,6 +11740,10 @@ static const struct hda_fixup alc662_fixups[] = { .chained = true, .chain_id = ALC897_FIXUP_LENOVO_HEADSET_MODE }, + [ALC897_FIXUP_UNIS_H3C_X500s] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc897_fixup_unis_h3c_x500s, + }, }; static const struct snd_pci_quirk alc662_fixup_tbl[] = { @@ -11792,6 +11811,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = { SND_PCI_QUIRK(0x1b35, 0x1234, "CZC ET26", ALC662_FIXUP_CZC_ET26), SND_PCI_QUIRK(0x1b35, 0x2206, "CZC P10T", ALC662_FIXUP_CZC_P10T), SND_PCI_QUIRK(0x1c6c, 0x1239, "Compaq N14JP6-V2", ALC897_FIXUP_HP_HSMIC_VERB), + SND_PCI_QUIRK(0x10ec, 0x0897, "UNIS H3C X500s", ALC897_FIXUP_UNIS_H3C_X500s), #if 0 /* Below is a quirk table taken from the old code. @@ -11886,6 +11906,7 @@ static const struct hda_model_fixup alc662_fixup_models[] = { {.id = ALC662_FIXUP_USI_HEADSET_MODE, .name = "usi-headset"}, {.id = ALC662_FIXUP_LENOVO_MULTI_CODECS, .name = "dual-codecs"}, {.id = ALC669_FIXUP_ACER_ASPIRE_ETHOS, .name = "aspire-ethos"}, + {.id = ALC897_FIXUP_UNIS_H3C_X500s, .name = "unis-h3c-x500s"}, {} }; -- 2.30.2