Skip to content

Commit 07bcab9

Browse files
Lucas Tanurejwrdegoede
authored andcommitted
ALSA: hda/realtek: Add support for HP Laptops
Add support for two and four CS35L41 using the component binding method Signed-off-by: Lucas Tanure <[email protected]> Signed-off-by: Stefan Binding <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Hans de Goede <[email protected]>
1 parent 68f201f commit 07bcab9

File tree

1 file changed

+42
-1
lines changed

1 file changed

+42
-1
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6611,6 +6611,16 @@ static void cs35l41_fixup_i2c_two(struct hda_codec *cdc, const struct hda_fixup
66116611
cs35l41_generic_fixup(cdc, action, "i2c", "CSC3551", 2);
66126612
}
66136613

6614+
static void cs35l41_fixup_spi_two(struct hda_codec *codec, const struct hda_fixup *fix, int action)
6615+
{
6616+
cs35l41_generic_fixup(codec, action, "spi0", "CSC3551", 2);
6617+
}
6618+
6619+
static void cs35l41_fixup_spi_four(struct hda_codec *codec, const struct hda_fixup *fix, int action)
6620+
{
6621+
cs35l41_generic_fixup(codec, action, "spi0", "CSC3551", 4);
6622+
}
6623+
66146624
static void alc287_legion_16achg6_playback_hook(struct hda_pcm_stream *hinfo, struct hda_codec *cdc,
66156625
struct snd_pcm_substream *sub, int action)
66166626
{
@@ -6948,6 +6958,9 @@ enum {
69486958
ALC285_FIXUP_LEGION_Y9000X_AUTOMUTE,
69496959
ALC287_FIXUP_LEGION_16ACHG6,
69506960
ALC287_FIXUP_CS35L41_I2C_2,
6961+
ALC245_FIXUP_CS35L41_SPI_2,
6962+
ALC245_FIXUP_CS35L41_SPI_4,
6963+
ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED,
69516964
ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED,
69526965
};
69536966

@@ -8699,6 +8712,20 @@ static const struct hda_fixup alc269_fixups[] = {
86998712
.type = HDA_FIXUP_FUNC,
87008713
.v.func = cs35l41_fixup_i2c_two,
87018714
},
8715+
[ALC245_FIXUP_CS35L41_SPI_2] = {
8716+
.type = HDA_FIXUP_FUNC,
8717+
.v.func = cs35l41_fixup_spi_two,
8718+
},
8719+
[ALC245_FIXUP_CS35L41_SPI_4] = {
8720+
.type = HDA_FIXUP_FUNC,
8721+
.v.func = cs35l41_fixup_spi_four,
8722+
},
8723+
[ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED] = {
8724+
.type = HDA_FIXUP_FUNC,
8725+
.v.func = alc245_fixup_hp_gpio_led,
8726+
.chained = true,
8727+
.chain_id = ALC245_FIXUP_CS35L41_SPI_4,
8728+
},
87028729
[ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED] = {
87038730
.type = HDA_FIXUP_VERBS,
87048731
.v.verbs = (const struct hda_verb[]) {
@@ -8926,7 +8953,21 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
89268953
SND_PCI_QUIRK(0x103c, 0x8896, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_MUTE_LED),
89278954
SND_PCI_QUIRK(0x103c, 0x8898, "HP EliteBook 845 G8 Notebook PC", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
89288955
SND_PCI_QUIRK(0x103c, 0x88d0, "HP Pavilion 15-eh1xxx (mainboard 88D0)", ALC287_FIXUP_HP_GPIO_LED),
8929-
SND_PCI_QUIRK(0x103c, 0x89c3, "HP", ALC285_FIXUP_HP_GPIO_LED),
8956+
SND_PCI_QUIRK(0x103c, 0x896e, "HP EliteBook x360 830 G9", ALC245_FIXUP_CS35L41_SPI_2),
8957+
SND_PCI_QUIRK(0x103c, 0x8971, "HP EliteBook 830 G9", ALC245_FIXUP_CS35L41_SPI_2),
8958+
SND_PCI_QUIRK(0x103c, 0x8972, "HP EliteBook 840 G9", ALC245_FIXUP_CS35L41_SPI_2),
8959+
SND_PCI_QUIRK(0x103c, 0x8973, "HP EliteBook 860 G9", ALC245_FIXUP_CS35L41_SPI_2),
8960+
SND_PCI_QUIRK(0x103c, 0x8974, "HP EliteBook 840 Aero G9", ALC245_FIXUP_CS35L41_SPI_2),
8961+
SND_PCI_QUIRK(0x103c, 0x8975, "HP EliteBook x360 840 Aero G9", ALC245_FIXUP_CS35L41_SPI_2),
8962+
SND_PCI_QUIRK(0x103c, 0x8981, "HP Elite Dragonfly G3", ALC245_FIXUP_CS35L41_SPI_4),
8963+
SND_PCI_QUIRK(0x103c, 0x898e, "HP EliteBook 835 G9", ALC287_FIXUP_CS35L41_I2C_2),
8964+
SND_PCI_QUIRK(0x103c, 0x898f, "HP EliteBook 835 G9", ALC287_FIXUP_CS35L41_I2C_2),
8965+
SND_PCI_QUIRK(0x103c, 0x8991, "HP EliteBook 845 G9", ALC287_FIXUP_CS35L41_I2C_2),
8966+
SND_PCI_QUIRK(0x103c, 0x8992, "HP EliteBook 845 G9", ALC287_FIXUP_CS35L41_I2C_2),
8967+
SND_PCI_QUIRK(0x103c, 0x8994, "HP EliteBook 855 G9", ALC287_FIXUP_CS35L41_I2C_2),
8968+
SND_PCI_QUIRK(0x103c, 0x8995, "HP EliteBook 855 G9", ALC287_FIXUP_CS35L41_I2C_2),
8969+
SND_PCI_QUIRK(0x103c, 0x89c3, "Zbook Studio G9", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED),
8970+
SND_PCI_QUIRK(0x103c, 0x89c6, "Zbook Fury 17 G9", ALC245_FIXUP_CS35L41_SPI_2),
89308971
SND_PCI_QUIRK(0x103c, 0x89ca, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF),
89318972
SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC),
89328973
SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300),

0 commit comments

Comments
 (0)