Skip to content

Commit f0d9da1

Browse files
KailangYangtiwai
authored andcommitted
ALSA: hda/realtek: Add support dual speaker for Dell
Dell new platform support dual speaker. But BIOS verb table only show one speaker. It will fill verb table for second speaker. Then bind with CS AMP model. Fixes: de90f51 ("ALSA: hda/realtek: Add support for DELL Oasis 13/14/16 laptops") Signed-off-by: Kailang Yang <kailang@realtek.com> Link: https://lore.kernel.org/r/4dd390a77bf742b8a518ac2deee00b0f@realtek.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent df42ee7 commit f0d9da1

File tree

1 file changed

+33
-7
lines changed

1 file changed

+33
-7
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7343,8 +7343,10 @@ enum {
73437343
ALC256_FIXUP_ASUS_MIC_NO_PRESENCE,
73447344
ALC299_FIXUP_PREDATOR_SPK,
73457345
ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE,
7346+
ALC289_FIXUP_DELL_SPK1,
73467347
ALC289_FIXUP_DELL_SPK2,
73477348
ALC289_FIXUP_DUAL_SPK,
7349+
ALC289_FIXUP_RTK_AMP_DUAL_SPK,
73487350
ALC294_FIXUP_SPK2_TO_DAC1,
73497351
ALC294_FIXUP_ASUS_DUAL_SPK,
73507352
ALC285_FIXUP_THINKPAD_X1_GEN7,
@@ -7444,6 +7446,7 @@ enum {
74447446
ALC287_FIXUP_THINKPAD_I2S_SPK,
74457447
ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD,
74467448
ALC2XX_FIXUP_HEADSET_MIC,
7449+
ALC289_FIXUP_DELL_CS35L41_SPI_2,
74477450
};
74487451

74497452
/* A special fixup for Lenovo C940 and Yoga Duet 7;
@@ -8670,6 +8673,15 @@ static const struct hda_fixup alc269_fixups[] = {
86708673
.chained = true,
86718674
.chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE
86728675
},
8676+
[ALC289_FIXUP_DELL_SPK1] = {
8677+
.type = HDA_FIXUP_PINS,
8678+
.v.pins = (const struct hda_pintbl[]) {
8679+
{ 0x14, 0x90170140 },
8680+
{ }
8681+
},
8682+
.chained = true,
8683+
.chain_id = ALC269_FIXUP_DELL4_MIC_NO_PRESENCE
8684+
},
86738685
[ALC289_FIXUP_DELL_SPK2] = {
86748686
.type = HDA_FIXUP_PINS,
86758687
.v.pins = (const struct hda_pintbl[]) {
@@ -8685,6 +8697,12 @@ static const struct hda_fixup alc269_fixups[] = {
86858697
.chained = true,
86868698
.chain_id = ALC289_FIXUP_DELL_SPK2
86878699
},
8700+
[ALC289_FIXUP_RTK_AMP_DUAL_SPK] = {
8701+
.type = HDA_FIXUP_FUNC,
8702+
.v.func = alc285_fixup_speaker2_to_dac1,
8703+
.chained = true,
8704+
.chain_id = ALC289_FIXUP_DELL_SPK1
8705+
},
86888706
[ALC294_FIXUP_SPK2_TO_DAC1] = {
86898707
.type = HDA_FIXUP_FUNC,
86908708
.v.func = alc285_fixup_speaker2_to_dac1,
@@ -9552,6 +9570,12 @@ static const struct hda_fixup alc269_fixups[] = {
95529570
.type = HDA_FIXUP_FUNC,
95539571
.v.func = alc_fixup_headset_mic,
95549572
},
9573+
[ALC289_FIXUP_DELL_CS35L41_SPI_2] = {
9574+
.type = HDA_FIXUP_FUNC,
9575+
.v.func = cs35l41_fixup_spi_two,
9576+
.chained = true,
9577+
.chain_id = ALC289_FIXUP_DUAL_SPK
9578+
},
95559579
};
95569580

95579581
static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -9662,13 +9686,15 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
96629686
SND_PCI_QUIRK(0x1028, 0x0c1c, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS),
96639687
SND_PCI_QUIRK(0x1028, 0x0c1d, "Dell Precision 3440", ALC236_FIXUP_DELL_DUAL_CODECS),
96649688
SND_PCI_QUIRK(0x1028, 0x0c1e, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS),
9665-
SND_PCI_QUIRK(0x1028, 0x0cbd, "Dell Oasis 13 CS MTL-U", ALC245_FIXUP_CS35L41_SPI_2),
9666-
SND_PCI_QUIRK(0x1028, 0x0cbe, "Dell Oasis 13 2-IN-1 MTL-U", ALC245_FIXUP_CS35L41_SPI_2),
9667-
SND_PCI_QUIRK(0x1028, 0x0cbf, "Dell Oasis 13 Low Weight MTU-L", ALC245_FIXUP_CS35L41_SPI_2),
9668-
SND_PCI_QUIRK(0x1028, 0x0cc1, "Dell Oasis 14 MTL-H/U", ALC245_FIXUP_CS35L41_SPI_2),
9669-
SND_PCI_QUIRK(0x1028, 0x0cc2, "Dell Oasis 14 2-in-1 MTL-H/U", ALC245_FIXUP_CS35L41_SPI_2),
9670-
SND_PCI_QUIRK(0x1028, 0x0cc3, "Dell Oasis 14 Low Weight MTL-U", ALC245_FIXUP_CS35L41_SPI_2),
9671-
SND_PCI_QUIRK(0x1028, 0x0cc4, "Dell Oasis 16 MTL-H/U", ALC245_FIXUP_CS35L41_SPI_2),
9689+
SND_PCI_QUIRK(0x1028, 0x0cbd, "Dell Oasis 13 CS MTL-U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9690+
SND_PCI_QUIRK(0x1028, 0x0cbe, "Dell Oasis 13 2-IN-1 MTL-U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9691+
SND_PCI_QUIRK(0x1028, 0x0cbf, "Dell Oasis 13 Low Weight MTU-L", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9692+
SND_PCI_QUIRK(0x1028, 0x0cc0, "Dell Oasis 13", ALC289_FIXUP_RTK_AMP_DUAL_SPK),
9693+
SND_PCI_QUIRK(0x1028, 0x0cc1, "Dell Oasis 14 MTL-H/U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9694+
SND_PCI_QUIRK(0x1028, 0x0cc2, "Dell Oasis 14 2-in-1 MTL-H/U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9695+
SND_PCI_QUIRK(0x1028, 0x0cc3, "Dell Oasis 14 Low Weight MTL-U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9696+
SND_PCI_QUIRK(0x1028, 0x0cc4, "Dell Oasis 16 MTL-H/U", ALC289_FIXUP_DELL_CS35L41_SPI_2),
9697+
SND_PCI_QUIRK(0x1028, 0x0cc5, "Dell Oasis 14", ALC289_FIXUP_RTK_AMP_DUAL_SPK),
96729698
SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
96739699
SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
96749700
SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),

0 commit comments

Comments
 (0)