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 <kapilporwal@google.com>
Change-Id: I921b06e8d35ddac0bc8175b13a33c84515b282a4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70028
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/intel/common/block/pcie/rtd3/chip.h b/src/soc/intel/common/block/pcie/rtd3/chip.h
index 8b62406..ff22adc 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 @@
 	 */
 	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 85ee24f..2c60eff 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 @@
 		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);
 
 	/*