ALSA: hda - Add new driver for HDA controllers listed via ACPI
authorDaniel Dadap <ddadap@nvidia.com>
Wed, 21 May 2025 14:35:29 +0000 (09:35 -0500)
committerTakashi Iwai <tiwai@suse.de>
Wed, 21 May 2025 20:14:48 +0000 (22:14 +0200)
commit4b214c9bbe26b2d86fd20a5548ac3733fcf36f21
treefd11b5199447efa49a4590a5243f484f24de4247
parent9110fadda376ee1377a478dbae5e168243b081f3
ALSA: hda - Add new driver for HDA controllers listed via ACPI

Some systems expose HD-Audio controllers via objects in the ACPI tables
which encapsulate the controller's interrupt and the base address for the
HDA registers in an ACPI _CRS object, for example, as listed in this ACPI
table dump excerpt:

        Device (HDA0)
        {
            Name (_HID, "NVDA2014")  // _HID: Hardware ID
            ...
            Name (_CRS, ResourceTemplate ()
            // _CRS: Current Resource Settings
            {
                Memory32Fixed (ReadWrite,
                    0x36078000,         // Address Base
                    0x00008000,         // Address Length
                    )
                Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive,
                           ,, )
                {
                    0x0000021E,
                }
            })
        }

Add support for HDA controllers discovered through ACPI, including support
for some platforms which expose such HDA controllers on NVIDIA SoCs. This
is done with a new driver which uses existing infrastructure for extracting
resource information from _CRS objects and plumbs the parsed resource
information through to the existing HDA infrastructure to enable HD-Audio
functionality on such devices.

Although this driver is in the sound/pci/hda/ directory, it targets devices
which are not actually enumerated on the PCI bus. This is because it
depends upon the Intel "Azalia" infrastructure which has traditionally been
usedvfor PCI-based devices.

Signed-off-by: Daniel Dadap <ddadap@nvidia.com>
Link: https://patch.msgid.link/aC3ksXJUM9DlKiz6@ddadap-lakeline.nvidia.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/Kconfig
sound/pci/hda/Makefile
sound/pci/hda/hda_acpi.c [new file with mode: 0644]