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:
parent
114d650fce
commit
afaee235fa
|
@ -5,7 +5,6 @@ config DRIVERS_PCIE_GENERIC
|
||||||
help
|
help
|
||||||
This driver allows attaching arbitrary ACPI properties to
|
This driver allows attaching arbitrary ACPI properties to
|
||||||
arbitrary PCI root ports or devices. Currently it supports one
|
arbitrary PCI root ports or devices. Currently it supports one
|
||||||
property, "UntrustedDevice". This property indicates to the
|
property, "DmaProperty", which indicates to the operating system that
|
||||||
operating system that the PCIe device may be considered
|
the PCIe device may be considered untrusted, and appropriate policies,
|
||||||
untrusted, and appropriate policies, e.g. IOMMU isolation,
|
e.g. IOMMU isolation, should take place.
|
||||||
should take place.
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ static void pcie_generic_fill_ssdt(const struct device *dev)
|
||||||
acpigen_write_ADR_pci_device(dev);
|
acpigen_write_ADR_pci_device(dev);
|
||||||
|
|
||||||
dsd = acpi_dp_new_table("_DSD");
|
dsd = acpi_dp_new_table("_DSD");
|
||||||
acpi_dp_add_integer(dsd, "UntrustedDevice", 1);
|
acpi_dp_add_integer(dsd, "DmaProperty", 1);
|
||||||
acpi_dp_write(dsd);
|
acpi_dp_write(dsd);
|
||||||
|
|
||||||
acpigen_write_device_end();
|
acpigen_write_device_end();
|
||||||
|
|
|
@ -515,13 +515,13 @@ static void wifi_ssdt_write_properties(const struct device *dev, const char *sco
|
||||||
/* Wake capabilities */
|
/* Wake capabilities */
|
||||||
acpigen_write_PRW(config->wake, ACPI_S3);
|
acpigen_write_PRW(config->wake, ACPI_S3);
|
||||||
|
|
||||||
/* Add _DSD for UntrustedDevice property. */
|
/* Add _DSD for DmaProperty property. */
|
||||||
if (config->is_untrusted) {
|
if (config->is_untrusted) {
|
||||||
struct acpi_dp *dsd, *pkg;
|
struct acpi_dp *dsd, *pkg;
|
||||||
|
|
||||||
dsd = acpi_dp_new_table("_DSD");
|
dsd = acpi_dp_new_table("_DSD");
|
||||||
pkg = acpi_dp_new_table(ACPI_DSD_UNTRUSTED_UUID);
|
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_add_package(dsd, pkg);
|
||||||
acpi_dp_write(dsd);
|
acpi_dp_write(dsd);
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
struct drivers_wifi_generic_config {
|
struct drivers_wifi_generic_config {
|
||||||
unsigned int wake;
|
unsigned int wake;
|
||||||
/* When set to true, this will add a _DSD which contains a single
|
/* 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;
|
bool is_untrusted;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue