mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
ALSA: hda/conexant: Use the new codec SSID matching
[ Upstream commit 1f55e3699fc9ced72400cdca39fe248bf2b288a2 ] 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 Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f4306ef142
commit
fba2b2d0b7
@@ -832,23 +832,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,
|
||||
@@ -1013,8 +996,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 },
|
||||
{ }
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1113,8 +1099,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),
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user