From d1cc04b5eb5e418edce072e4950b4d9247de93a3 Mon Sep 17 00:00:00 2001
From: Robert Zieba <robertzieba@google.com>
Date: Tue, 12 Jul 2022 13:19:17 -0600
Subject: drivers/pci/generic: Add support for `_PRW`

This commit adds support for `_PRW` in this driver.

BUG=b:237682766
TEST=Built and booted on Skyrim device, dumped SSDT

Change-Id: Ife4ba48994cbf993bc88df8354576336438e4258
Signed-off-by: Robert Zieba <robertzieba@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65799
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
---
 src/drivers/pcie/generic/chip.h    | 2 ++
 src/drivers/pcie/generic/generic.c | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/src/drivers/pcie/generic/chip.h b/src/drivers/pcie/generic/chip.h
index e5b2876766..78285b9693 100644
--- a/src/drivers/pcie/generic/chip.h
+++ b/src/drivers/pcie/generic/chip.h
@@ -7,6 +7,8 @@
 
 struct drivers_pcie_generic_config {
 	const char *name;
+	unsigned int wake_gpe;
+	unsigned int wake_deepest;
 };
 
 #endif /* _PCIE_GENERIC_H_ */
diff --git a/src/drivers/pcie/generic/generic.c b/src/drivers/pcie/generic/generic.c
index a26c37b543..8b073405fd 100644
--- a/src/drivers/pcie/generic/generic.c
+++ b/src/drivers/pcie/generic/generic.c
@@ -40,6 +40,9 @@ static void pcie_generic_fill_ssdt(const struct device *dev)
 	acpigen_write_device(name);
 	acpigen_write_ADR_pci_device(dev);
 
+	if (config->wake_gpe)
+		acpigen_write_PRW(config->wake_gpe, config->wake_deepest);
+
 	acpigen_write_device_end();
 	acpigen_write_scope_end();
 
-- 
cgit v1.2.3