Re: [PATCH] ALSA: hda/conexant: Add quirk for SWS JS201D

From: Takashi Iwai
Date: Sun Feb 04 2024 - 07:27:53 EST


On Sun, 04 Feb 2024 05:53:44 +0100,
bo liu wrote:
>
> The SWS JS201D need a different pinconfig from windows driver.
> Add a quirk to use a specific pinconfig to SWS JS201D.
>
> Signed-off-by: bo liu <bo.liu@xxxxxxxxxxxxxx>
> ---
> sound/pci/hda/patch_conexant.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
> index e8819e8a9876..a0bb4d91502b 100644
> --- a/sound/pci/hda/patch_conexant.c
> +++ b/sound/pci/hda/patch_conexant.c
> @@ -344,6 +344,7 @@ enum {
> CXT_FIXUP_HP_ZBOOK_MUTE_LED,
> CXT_FIXUP_HEADSET_MIC,
> CXT_FIXUP_HP_MIC_NO_PRESENCE,
> + CXT_PINCFG_SWS_JS201D,
> };
>
> /* for hda_fixup_thinkpad_acpi() */
> @@ -841,6 +842,17 @@ static const struct hda_pintbl cxt_pincfg_lemote[] = {
> {}
> };
>
> +/* SuoWoSi/South-holding JS201D with sn6140 */
> +static const struct hda_pintbl cxt_pincfg_sws_js201d[] = {
> + { 0x16, 0x03211040 }, /* hp out */
> + { 0x17, 0x91170110 }, /* SPK/Class_D */
> + { 0x18, 0x95a70130 }, /* Internal mic */
> + { 0x19, 0x03a11020 }, /* Headset Mic */
> + { 0x1a, 0x40f001f0 }, /* Not used */
> + { 0x21, 0x40f001f0 }, /* Not used */
> + {}
> +};
> +
> static const struct hda_fixup cxt_fixups[] = {
> [CXT_PINCFG_LENOVO_X200] = {
> .type = HDA_FIXUP_PINS,
> @@ -996,6 +1008,10 @@ static const struct hda_fixup cxt_fixups[] = {
> .chained = true,
> .chain_id = CXT_FIXUP_HEADSET_MIC,
> },
> + [CXT_PINCFG_SWS_JS201D] = {
> + .type = HDA_FIXUP_PINS,
> + .v.pins = cxt_pincfg_sws_js201d,
> + },
> };
>
> static const struct snd_pci_quirk cxt5045_fixups[] = {
> @@ -1091,6 +1107,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = {
> SND_PCI_QUIRK_VENDOR(0x17aa, "Thinkpad", CXT_FIXUP_THINKPAD_ACPI),
> SND_PCI_QUIRK(0x1c06, 0x2011, "Lemote A1004", CXT_PINCFG_LEMOTE_A1004),
> SND_PCI_QUIRK(0x1c06, 0x2012, "Lemote A1205", CXT_PINCFG_LEMOTE_A1205),
> + SND_PCI_QUIRK(0x14f1, 0x0265, "SWS JS201D", CXT_PINCFG_SWS_JS201D),
> {}
> };

The table is sorted in PCI SSID order. Please try to put at the right
position.


thanks,

Takashi