summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2024-10-08 14:02:30 +0200
committerTakashi Iwai <tiwai@suse.de>2024-10-10 14:21:11 +0200
commit1f55e3699fc9ced72400cdca39fe248bf2b288a2 (patch)
tree5b5ca986824c828a28cb1e99890254d5d211a94b
parent5b1913a79c3e0518d9c5db343fa9fc4edcea041f (diff)
ALSA: hda/conexant: Use the new codec SSID matching
Now we can perform the codec ID matching primarily, and reduce the conditional application of the quirk for conflicting PCI SSID between System76 and Tuxedo devices. Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/20241008120233.7154-3-tiwai@suse.de
-rw-r--r--sound/pci/hda/patch_conexant.c28
1 files changed, 7 insertions, 21 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 02cfd6ae4036..7c61e81c40e0 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -816,23 +816,6 @@ static const struct hda_pintbl cxt_pincfg_sws_js201d[] = {
{}
};
-/* pincfg quirk for Tuxedo Sirius;
- * unfortunately the (PCI) SSID conflicts with System76 Pangolin pang14,
- * which has incompatible pin setup, so we check the codec SSID (luckily
- * different one!) and conditionally apply the quirk here
- */
-static void cxt_fixup_sirius_top_speaker(struct hda_codec *codec,
- const struct hda_fixup *fix,
- int action)
-{
- /* ignore for incorrectly picked-up pang14 */
- if (codec->core.subsystem_id == 0x278212b3)
- return;
- /* set up the top speaker pin */
- if (action == HDA_FIXUP_ACT_PRE_PROBE)
- snd_hda_codec_set_pincfg(codec, 0x1d, 0x82170111);
-}
-
static const struct hda_fixup cxt_fixups[] = {
[CXT_PINCFG_LENOVO_X200] = {
.type = HDA_FIXUP_PINS,
@@ -993,8 +976,11 @@ static const struct hda_fixup cxt_fixups[] = {
.v.pins = cxt_pincfg_sws_js201d,
},
[CXT_PINCFG_TOP_SPEAKER] = {
- .type = HDA_FIXUP_FUNC,
- .v.func = cxt_fixup_sirius_top_speaker,
+ .type = HDA_FIXUP_PINS,
+ .v.pins = (const struct hda_pintbl[]) {
+ { 0x1d, 0x82170111 },
+ { }
+ },
},
};
@@ -1092,8 +1078,8 @@ static const struct hda_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(0x2782, 0x12c3, "Sirius Gen1", CXT_PINCFG_TOP_SPEAKER),
- SND_PCI_QUIRK(0x2782, 0x12c5, "Sirius Gen2", CXT_PINCFG_TOP_SPEAKER),
+ HDA_CODEC_QUIRK(0x2782, 0x12c3, "Sirius Gen1", CXT_PINCFG_TOP_SPEAKER),
+ HDA_CODEC_QUIRK(0x2782, 0x12c5, "Sirius Gen2", CXT_PINCFG_TOP_SPEAKER),
{}
};