The patch of the file patch_realtek.c fixes the speaker output on the HP ENVY Laptop 17-cr0xxx. The LEDs for muting the microphone and speakers still do not work. Likewise, the hotkey for microphone muting is without function.
This laptop model uses actually the Realtek ALC245 codec alongside with Cirrus Logic amplifiers. In the bios there seems to be no _DSD property specified in the ACPI tables of the CSC3551 section. Therefore, the file cs35l41_hda.c must also be patched.
Even if a patch of the file cs35l41_hda.c is excluded, it would make sense to make the adjustment in the file patch_realtek.c. then the sound output would work in case of a bios update on the part of the manufacturer.
--- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -9426,6 +9426,7 @@ static const struct snd_pci_quirk alc269 SND_PCI_QUIRK(0x103c, 0x89c6, "Zbook Fury 17 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x89ca, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), SND_PCI_QUIRK(0x103c, 0x89d3, "HP EliteBook 645 G9 (MB 89D2)", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), + SND_PCI_QUIRK(0x103c, 0x8a2e, "HP ENVY Laptop 17-cr0xxx", ALC287_FIXUP_CS35L41_I2C_2), SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x103c, 0x8aa0, "HP ProBook 440 G9 (MB 8A9E)", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED),
--- a/sound/pci/hda/cs35l41_hda.c +++ b/sound/pci/hda/cs35l41_hda.c @@ -1244,6 +1244,10 @@ static int cs35l41_no_acpi_dsd(struct cs hw_cfg->bst_type = CS35L41_EXT_BOOST; hw_cfg->gpio1.func = CS35l41_VSPK_SWITCH; hw_cfg->gpio1.valid = true; + } else if (strncmp(hid, "CSC3551", 7) == 0) { + hw_cfg->bst_type = CS35L41_EXT_BOOST; + hw_cfg->gpio1.func = CS35l41_VSPK_SWITCH; + hw_cfg->gpio1.valid = true; } else { /* * Note: CLSA010(0/1) are special cases which use a slightly different design.
The patch of the file patch_realtek.c fixes the speaker output on the HP ENVY Laptop 17-cr0xxx. The LEDs for muting the microphone and speakers still do not work. Likewise, the hotkey for microphone muting is without function.
This laptop model uses actually the Realtek ALC245 codec alongside with Cirrus Logic amplifiers. In the bios there seems to be no _DSD property specified in the ACPI tables of the CSC3551 section. Therefore, the file cs35l41_hda.c must also be patched.
Even if a patch of the file cs35l41_hda.c is excluded, it would make sense to make the adjustment in the file patch_realtek.c. then the sound output would work in case of a bios update on the part of the manufacturer.
--- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -9426,6 +9426,7 @@ static const struct snd_pci_quirk alc269 SND_PCI_QUIRK(0x103c, 0x89c6, "Zbook Fury 17 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x89ca, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), SND_PCI_QUIRK(0x103c, 0x89d3, "HP EliteBook 645 G9 (MB 89D2)", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), + SND_PCI_QUIRK(0x103c, 0x8a2e, "HP ENVY Laptop 17-cr0xxx", ALC287_FIXUP_CS35L41_I2C_2), SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x103c, 0x8aa0, "HP ProBook 440 G9 (MB 8A9E)", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED),
--- a/sound/pci/hda/cs35l41_hda.c +++ b/sound/pci/hda/cs35l41_hda.c @@ -1244,6 +1244,10 @@ static int cs35l41_no_acpi_dsd(struct cs hw_cfg->bst_type = CS35L41_EXT_BOOST; hw_cfg->gpio1.func = CS35l41_VSPK_SWITCH; hw_cfg->gpio1.valid = true; + } else if (strncmp(hid, "CSC3551", 7) == 0) { + hw_cfg->bst_type = CS35L41_EXT_BOOST; + hw_cfg->gpio1.func = CS35l41_VSPK_SWITCH; + hw_cfg->gpio1.valid = true; } else { /* * Note: CLSA010(0/1) are special cases which use a slightly different design.
On Thu, Apr 13, 2023 at 10:32:20AM +0200, secu100@gmx.net wrote:
The patch of the file patch_realtek.c fixes the speaker output on the HP ENVY Laptop 17-cr0xxx. The LEDs for muting the microphone and speakers still do not work. Likewise, the hotkey for microphone muting is without function.
This laptop model uses actually the Realtek ALC245 codec alongside with Cirrus Logic amplifiers. In the bios there seems to be no _DSD property specified in the ACPI tables of the CSC3551 section. Therefore, the file cs35l41_hda.c must also be patched.
Even if a patch of the file cs35l41_hda.c is excluded, it would make sense to make the adjustment in the file patch_realtek.c. then the sound output would work in case of a bios update on the part of the manufacturer.
<formletter>
This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly.
</formletter>
linux-stable-mirror@lists.linaro.org