Message ID | 20220608070527.14824-1-huangwenhuia@uniontech.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v3] ALSA: hda/realtek - Add HW8326 support | expand |
On Wed, 08 Jun 2022 09:05:27 +0200, huangwenhui wrote: > > Added the support of new Huawei codec HW8326. The HW8326 is developed > by Huawei with Realtek's IP Core, and it's compatible with ALC256. > > Signed-off-by: huangwenhui <huangwenhuia@uniontech.com> Thanks, applied now. Takashi
and better to follow the order to easy to find the codec once the list growing next time, e.g. @@ -651,6 +651,7 @@ static const struct hda_vendor_id hda_vendor_ids[] = { { 0x1095, "Silicon Image" }, { 0x10de, "Nvidia" }, { 0x10ec, "Realtek" }, + { 0x19e5, "Huawei" }, { 0x1102, "Creative" }, { 0x1106, "VIA" }, { 0x111d, "IDT" }, to { 0x14f1, "Conexant" }, { 0x17e8, "Chrontel" }, { 0x1854, "LG" }, + { 0x19e5, "Huawei" }, { 0x1aec, "Wolfson Microelectronics" }, { 0x1af4, "QEMU" }, and so on. On Wed, Jun 8, 2022 at 3:30 PM Takashi Iwai <tiwai@suse.de> wrote: > > On Wed, 08 Jun 2022 09:05:27 +0200, > huangwenhui wrote: > > > > Added the support of new Huawei codec HW8326. The HW8326 is developed > > by Huawei with Realtek's IP Core, and it's compatible with ALC256. > > > > Signed-off-by: huangwenhui <huangwenhuia@uniontech.com> > > Thanks, applied now. > > > Takashi
On Wed, 08 Jun 2022 09:53:32 +0200, Jeremy Szu wrote: > > and better to follow the order to easy to find the codec once the list > growing next time, e.g. > > @@ -651,6 +651,7 @@ static const struct hda_vendor_id hda_vendor_ids[] = { > { 0x1095, "Silicon Image" }, > { 0x10de, "Nvidia" }, > { 0x10ec, "Realtek" }, > + { 0x19e5, "Huawei" }, > { 0x1102, "Creative" }, > { 0x1106, "VIA" }, > { 0x111d, "IDT" }, > > to > > { 0x14f1, "Conexant" }, > { 0x17e8, "Chrontel" }, > { 0x1854, "LG" }, > + { 0x19e5, "Huawei" }, > { 0x1aec, "Wolfson Microelectronics" }, > { 0x1af4, "QEMU" }, > > and so on. Indeed. Care to send an additional patch? thanks, Takashi
I send a patch now.
Thanks.
------------------ Original ------------------
From: "Takashi Iwai"<tiwai@suse.de>;
Date: Wed, Jun 8, 2022 03:56 PM
To: "jeremy.szu"<jeremy.szu@canonical.com>;
Cc: "huangwenhui"<huangwenhuia@uniontech.com>; "tiwai"<tiwai@suse.com>; "perex"<perex@perex.cz>; "alsa-devel"<alsa-devel@alsa-project.org>; "kailang"<kailang@realtek.com>; "tanureal"<tanureal@opensource.cirrus.com>; "linux-kernel"<linux-kernel@vger.kernel.org>; "wse"<wse@tuxedocomputers.com>; "hui.wang"<hui.wang@canonical.com>; "sami"<sami@loone.fi>; "cam"<cam@neo-zeon.de>;
Subject: Re: [PATCH v3] ALSA: hda/realtek - Add HW8326 support
On Wed, 08 Jun 2022 09:53:32 +0200,
Jeremy Szu wrote:
>
> and better to follow the order to easy to find the codec once the list
> growing next time, e.g.
>
> @@ -651,6 +651,7 @@ static const struct hda_vendor_id hda_vendor_ids[] = {
> { 0x1095, "Silicon Image" },
> { 0x10de, "Nvidia" },
> { 0x10ec, "Realtek" },
> + { 0x19e5, "Huawei" },
> { 0x1102, "Creative" },
> { 0x1106, "VIA" },
> { 0x111d, "IDT" },
>
> to
>
> { 0x14f1, "Conexant" },
> { 0x17e8, "Chrontel" },
> { 0x1854, "LG" },
> + { 0x19e5, "Huawei" },
> { 0x1aec, "Wolfson Microelectronics" },
> { 0x1af4, "QEMU" },
>
> and so on.
Indeed. Care to send an additional patch?
thanks,
Takashi
diff --git a/sound/hda/hdac_device.c b/sound/hda/hdac_device.c index 3e9e9ac804f6..775474f00141 100644 --- a/sound/hda/hdac_device.c +++ b/sound/hda/hdac_device.c @@ -651,6 +651,7 @@ static const struct hda_vendor_id hda_vendor_ids[] = { { 0x1095, "Silicon Image" }, { 0x10de, "Nvidia" }, { 0x10ec, "Realtek" }, + { 0x19e5, "Huawei" }, { 0x1102, "Creative" }, { 0x1106, "VIA" }, { 0x111d, "IDT" }, diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index f3ad454b3fbf..cd1281691767 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -443,6 +443,7 @@ static void alc_fill_eapd_coef(struct hda_codec *codec) case 0x10ec0245: case 0x10ec0255: case 0x10ec0256: + case 0x19e58326: case 0x10ec0257: case 0x10ec0282: case 0x10ec0283: @@ -580,6 +581,7 @@ static void alc_shutup_pins(struct hda_codec *codec) switch (codec->core.vendor_id) { case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: case 0x10ec0283: case 0x10ec0286: case 0x10ec0288: @@ -3247,6 +3249,7 @@ static void alc_disable_headset_jack_key(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_write_coef_idx(codec, 0x48, 0x0); alc_update_coef_idx(codec, 0x49, 0x0045, 0x0); break; @@ -3275,6 +3278,7 @@ static void alc_enable_headset_jack_key(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_write_coef_idx(codec, 0x48, 0xd011); alc_update_coef_idx(codec, 0x49, 0x007f, 0x0045); break; @@ -4910,6 +4914,7 @@ static void alc_headset_mode_unplugged(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_process_coef_fw(codec, coef0256); break; case 0x10ec0234: @@ -5025,6 +5030,7 @@ static void alc_headset_mode_mic_in(struct hda_codec *codec, hda_nid_t hp_pin, case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_write_coef_idx(codec, 0x45, 0xc489); snd_hda_set_pin_ctl_cache(codec, hp_pin, 0); alc_process_coef_fw(codec, coef0256); @@ -5175,6 +5181,7 @@ static void alc_headset_mode_default(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_write_coef_idx(codec, 0x1b, 0x0e4b); alc_write_coef_idx(codec, 0x45, 0xc089); msleep(50); @@ -5274,6 +5281,7 @@ static void alc_headset_mode_ctia(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_process_coef_fw(codec, coef0256); break; case 0x10ec0234: @@ -5388,6 +5396,7 @@ static void alc_headset_mode_omtp(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_process_coef_fw(codec, coef0256); break; case 0x10ec0234: @@ -5489,6 +5498,7 @@ static void alc_determine_headset_type(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_write_coef_idx(codec, 0x1b, 0x0e4b); alc_write_coef_idx(codec, 0x06, 0x6104); alc_write_coefex_idx(codec, 0x57, 0x3, 0x09a3); @@ -5783,6 +5793,7 @@ static void alc255_set_default_jack_type(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: alc_process_coef_fw(codec, alc256fw); break; } @@ -6385,6 +6396,7 @@ static void alc_combo_jack_hp_jd_restart(struct hda_codec *codec) case 0x10ec0236: case 0x10ec0255: case 0x10ec0256: + case 0x19e58326: alc_update_coef_idx(codec, 0x1b, 0x8000, 1 << 15); /* Reset HP JD */ alc_update_coef_idx(codec, 0x1b, 0x8000, 0 << 15); break; @@ -10095,6 +10107,7 @@ static int patch_alc269(struct hda_codec *codec) case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x19e58326: spec->codec_variant = ALC269_TYPE_ALC256; spec->shutup = alc256_shutup; spec->init_hook = alc256_init; @@ -11545,6 +11558,7 @@ static const struct hda_device_id snd_hda_id_realtek[] = { HDA_CODEC_ENTRY(0x10ec0b00, "ALCS1200A", patch_alc882), HDA_CODEC_ENTRY(0x10ec1168, "ALC1220", patch_alc882), HDA_CODEC_ENTRY(0x10ec1220, "ALC1220", patch_alc882), + HDA_CODEC_ENTRY(0x19e58326, "HW8326", patch_alc269), {} /* terminator */ }; MODULE_DEVICE_TABLE(hdaudio, snd_hda_id_realtek);
Added the support of new Huawei codec HW8326. The HW8326 is developed by Huawei with Realtek's IP Core, and it's compatible with ALC256. Signed-off-by: huangwenhui <huangwenhuia@uniontech.com> --- sound/hda/hdac_device.c | 1 + sound/pci/hda/patch_realtek.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+)