From d7eacd75aeaf648c9fe844f5928b7091f5e23d15 Mon Sep 17 00:00:00 2001 From: Kapil Porwal Date: Mon, 28 Nov 2022 11:03:38 +0530 Subject: soc/intel/cmn/block/pcie/rtd3: Add support for ACPI DmaProperty BUG=b:259716145 TEST=Verified SSDT on google/rex. Signed-off-by: Kapil Porwal Change-Id: I921b06e8d35ddac0bc8175b13a33c84515b282a4 Reviewed-on: https://review.coreboot.org/c/coreboot/+/70028 Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) --- src/soc/intel/common/block/pcie/rtd3/chip.h | 4 ++++ src/soc/intel/common/block/pcie/rtd3/rtd3.c | 5 +++++ 2 files changed, 9 insertions(+) (limited to 'src/soc/intel/common') diff --git a/src/soc/intel/common/block/pcie/rtd3/chip.h b/src/soc/intel/common/block/pcie/rtd3/chip.h index 8b624065586b..ff22adcf4962 100644 --- a/src/soc/intel/common/block/pcie/rtd3/chip.h +++ b/src/soc/intel/common/block/pcie/rtd3/chip.h @@ -40,6 +40,10 @@ struct soc_intel_common_block_pcie_rtd3_config { */ int srcclk_pin; + /* 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; + /* * Add device property indicating the device provides an external PCI port * for the OS to apply security restrictions. diff --git a/src/soc/intel/common/block/pcie/rtd3/rtd3.c b/src/soc/intel/common/block/pcie/rtd3/rtd3.c index 85ee24fbb50a..2c60eff069b3 100644 --- a/src/soc/intel/common/block/pcie/rtd3/rtd3.c +++ b/src/soc/intel/common/block/pcie/rtd3/rtd3.c @@ -484,6 +484,11 @@ static void pcie_rtd3_acpi_fill_ssdt(const struct device *dev) acpi_dp_add_integer(pkg, PCIE_EXTERNAL_PORT_PROPERTY, 1); acpi_dp_add_package(dsd, pkg); } + + /* Indicate to the OS if the device has DMA property. */ + if (config->add_acpi_dma_property) + acpi_device_add_dma_property(dsd); + acpi_dp_write(dsd); /* -- cgit v1.2.3