drivers/net/r8168: Add support for ACPI DmaProperty

BUG=b:259716145
TEST=Verified SSDT on google/osiris.

Before:
Scope (\_SB.PCI0.RP01)
{
    Device (RLTK)
    {
        Name (_HID, "R8168")  // _HID: Hardware ID
        Name (_UID, 0xD0E889DD)  // _UID: Unique ID
        Name (_DDN, "Realtek r8168")  // _DDN: DOS Device Name
        Name (_ADR, 0x00000000)  // _ADR: Address
        Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
        {
            0x07,
            0x03
        })
    }
}

After:
Scope (\_SB.PCI0.RP01)
{
    Device (RLTK)
    {
        Name (_HID, "R8168")  // _HID: Hardware ID
        Name (_UID, 0xD0E889DD)  // _UID: Unique ID
        Name (_DDN, "Realtek r8168")  // _DDN: DOS Device Name
        Name (_ADR, 0x00000000)  // _ADR: Address
        Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
        {
            0x07,
            0x03
        })
        Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
        {
            ToUUID ("70d24161-6dd5-4c9e-8070-705531292865"),
            Package (0x01)
            {
                Package (0x02)
                {
                    "DmaProperty",
                    One
                }
            }
        })
    }
}

Signed-off-by: Kapil Porwal <kapilporwal@google.com>
Change-Id: I647230082362b1093b63793a201eba23a6289121
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70016
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Kapil Porwal 2022-11-26 02:34:58 +05:30 committed by Subrata Banik
parent 8c56ad116d
commit 4c2c2c43d0
2 changed files with 7 additions and 0 deletions

View File

@ -34,6 +34,10 @@ struct drivers_net_config {
/* Allow kernel driver to enable ASPM L1.2. */ /* Allow kernel driver to enable ASPM L1.2. */
bool enable_aspm_l1_2; bool enable_aspm_l1_2;
/* When set to true, this will add a _DSD which contains a single
property, `DmaProperty`, set to 1, under the ACPI Device. */
bool add_acpi_dma_property;
}; };
#endif /* __DRIVERS_R8168_CHIP_H__ */ #endif /* __DRIVERS_R8168_CHIP_H__ */

View File

@ -400,6 +400,9 @@ static void r8168_net_fill_ssdt(const struct device *dev)
if (config->wake) if (config->wake)
acpigen_write_PRW(config->wake, 3); acpigen_write_PRW(config->wake, 3);
if (config->add_acpi_dma_property)
acpi_device_add_dma_property(NULL);
acpigen_pop_len(); /* Device */ acpigen_pop_len(); /* Device */
acpigen_pop_len(); /* Scope */ acpigen_pop_len(); /* Scope */