The CS35L41 HDA driver requires various system defined properties to configure the driver for an individual system. For some laptops, these properties are missing in the BIOS. To be able to support these laptops, there is a mechanism in the driver to get this configuration from a lookup table, to be able to add or patch _DSD as necessary.
However this mechanism currently only allows for laptops to be patched one at a time, however, in the case where there are many laptops which need to be configured generically, a generic function has been added, with an additional lookup table to the individual laptops, indexed by SSID.
To support laptops using SPI without _DSD, an additional workaround is needed to be able to support the SPI Chip Select GPIOs whose resources are defined inside the _CRS for the Speaker ACPI Node. This workaround only works for SPI laptops which contain up to 2 amps, since the SPI controller would not allow more than 2 amps to be instantiated without the cs-gpios entry in _DSD.
These patches add support for various ASUS laptops without _DSD, but the framework added here allows for support for more laptops in the future for other manufacturers. Support for laptops without _DSD from other manufacturers is coming in the future.
Note: for systems which use modified _DSD to emulate the missing _DSD, these patches are incompatible, and the modified _DSD must be removed in order for the support through this framework to work for those laptops.
Stefan Binding (7): ALSA: hda: cs35l41: Add config table to support many laptops without _DSD ALSA: hda: cs35l41: Support additional ASUS ROG 2023 models ALSA: hda/realtek: Add quirks for ASUS ROG 2023 models ALSA: hda: cs35l41: Support additional ASUS Zenbook 2022 Models ALSA: hda/realtek: Add quirks for ASUS Zenbook 2022 Models ALSA: hda: cs35l41: Support additional ASUS Zenbook 2023 Models ALSA: hda/realtek: Add quirks for ASUS Zenbook 2023 Models
sound/pci/hda/cs35l41_hda.c | 2 + sound/pci/hda/cs35l41_hda.h | 5 +- sound/pci/hda/cs35l41_hda_property.c | 362 ++++++++++++++++++++++++--- sound/pci/hda/patch_realtek.c | 39 ++- 4 files changed, 353 insertions(+), 55 deletions(-)