drivers/{pcie,wifi}/generic: Update untrusted property name

In order to align with established standards for establishing DMA
boundaries[1] from ACPI, the UntrustedDevice property has been renamed
to DmaProperty, which follows Microsoft's implementation. After
discussions with Microsoft, they have agreed to make the `UID` property
optional, so it is left out here, and instead it can be applied to:

1) Internal PCI devices
2) PCIe root ports
3) Downstream PCI(e) devices

[1]: https://docs.microsoft.com/en-us/windows-hardware/drivers/pci/dsd-for-pcie-root-ports

BUG=b:215424986

Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: Id70e916532e3d3d70305fc61473da28c702fc397
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62435
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
This commit is contained in:
Tim Wawrzynczak 2022-02-23 10:17:21 -07:00
parent 114d650fce
commit afaee235fa
4 changed files with 7 additions and 8 deletions

View File

@ -5,7 +5,6 @@ config DRIVERS_PCIE_GENERIC
help
This driver allows attaching arbitrary ACPI properties to
arbitrary PCI root ports or devices. Currently it supports one
property, "UntrustedDevice". This property indicates to the
operating system that the PCIe device may be considered
untrusted, and appropriate policies, e.g. IOMMU isolation,
should take place.
property, "DmaProperty", which indicates to the operating system that
the PCIe device may be considered untrusted, and appropriate policies,
e.g. IOMMU isolation, should take place.

View File

@ -34,7 +34,7 @@ static void pcie_generic_fill_ssdt(const struct device *dev)
acpigen_write_ADR_pci_device(dev);
dsd = acpi_dp_new_table("_DSD");
acpi_dp_add_integer(dsd, "UntrustedDevice", 1);
acpi_dp_add_integer(dsd, "DmaProperty", 1);
acpi_dp_write(dsd);
acpigen_write_device_end();

View File

@ -515,13 +515,13 @@ static void wifi_ssdt_write_properties(const struct device *dev, const char *sco
/* Wake capabilities */
acpigen_write_PRW(config->wake, ACPI_S3);
/* Add _DSD for UntrustedDevice property. */
/* Add _DSD for DmaProperty property. */
if (config->is_untrusted) {
struct acpi_dp *dsd, *pkg;
dsd = acpi_dp_new_table("_DSD");
pkg = acpi_dp_new_table(ACPI_DSD_UNTRUSTED_UUID);
acpi_dp_add_integer(pkg, "UntrustedDevice", 1);
acpi_dp_add_integer(pkg, "DmaProperty", 1);
acpi_dp_add_package(dsd, pkg);
acpi_dp_write(dsd);
}

View File

@ -10,7 +10,7 @@
struct drivers_wifi_generic_config {
unsigned int wake;
/* When set to true, this will add a _DSD which contains a single
property, `UntrustedDevice`, set to 1, to the ACPI Device. */
property, `DmaProperty`, set to 1, under the ACPI Device. */
bool is_untrusted;
};