aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Rhodes <sean@starlabs.systems>2023-04-17 20:42:47 +0100
committerFelix Held <felix-coreboot@felixheld.de>2023-04-21 21:30:36 +0000
commite24d9d6b45e9e106539ad60d4584ef1b1b9075e1 (patch)
treebc0b063aef7e78d7aa84774f16019a7a566ef576
parent917261d11c23eeaee4e3474a88d0baf351a5c9c2 (diff)
soc/intel/meteorlake: Don't offer D3Cold when it's disabled
Use D3COLD_SUPPORT Kconfig option to adjust the maximum supported sleep state in ACPI. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: Ifa55a19727e6adb6864158c2c323d08a0c22b996 Reviewed-on: https://review.coreboot.org/c/coreboot/+/74479 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
-rw-r--r--src/soc/intel/meteorlake/acpi/tcss.asl2
-rw-r--r--src/soc/intel/meteorlake/acpi/tcss_dma.asl20
-rw-r--r--src/soc/intel/meteorlake/acpi/tcss_pcierp.asl20
-rw-r--r--src/soc/intel/meteorlake/acpi/tcss_xhci.asl6
4 files changed, 48 insertions, 0 deletions
diff --git a/src/soc/intel/meteorlake/acpi/tcss.asl b/src/soc/intel/meteorlake/acpi/tcss.asl
index c1360489ea..1d562c9a2e 100644
--- a/src/soc/intel/meteorlake/acpi/tcss.asl
+++ b/src/soc/intel/meteorlake/acpi/tcss.asl
@@ -657,6 +657,7 @@ Scope (\_SB.PCI0)
}
}
+#if CONFIG(D3COLD_SUPPORT)
Method (TCON, 0)
{
/* Reset IOM D3 cold bit if it is in D3 cold now. */
@@ -763,6 +764,7 @@ Scope (\_SB.PCI0)
STAT = 0
}
}
+#endif // D3COLD_SUPPORT
/*
* TCSS xHCI device
diff --git a/src/soc/intel/meteorlake/acpi/tcss_dma.asl b/src/soc/intel/meteorlake/acpi/tcss_dma.asl
index d00f79432d..94678fcd00 100644
--- a/src/soc/intel/meteorlake/acpi/tcss_dma.asl
+++ b/src/soc/intel/meteorlake/acpi/tcss_dma.asl
@@ -27,25 +27,45 @@ Name (STAT, 0x1) /* Variable to save power state 1 - D0, 0 - D3C */
Method (_S0W, 0x0)
{
+#if CONFIG(D3COLD_SUPPORT)
Return (0x4)
+#else
+ Return (0x3)
+#endif // D3COLD_SUPPORT
}
Method (_PR0)
{
+#if CONFIG(D3COLD_SUPPORT)
If (DUID == 0) {
Return (Package() { \_SB.PCI0.D3C, \_SB.PCI0.TBT0 })
} Else {
Return (Package() { \_SB.PCI0.D3C, \_SB.PCI0.TBT1 })
}
+#else
+ If (DUID == 0) {
+ Return (Package() { \_SB.PCI0.TBT0 })
+ } Else {
+ Return (Package() { \_SB.PCI0.TBT1 })
+ }
+#endif // D3COLD_SUPPORT
}
Method (_PR3)
{
+#if CONFIG(D3COLD_SUPPORT)
If (DUID == 0) {
Return (Package() { \_SB.PCI0.D3C, \_SB.PCI0.TBT0 })
} Else {
Return (Package() { \_SB.PCI0.D3C, \_SB.PCI0.TBT1 })
}
+#else
+ If (DUID == 0) {
+ Return (Package() { \_SB.PCI0.TBT0 })
+ } Else {
+ Return (Package() { \_SB.PCI0.TBT1 })
+ }
+#endif // D3COLD_SUPPORT
}
/*
diff --git a/src/soc/intel/meteorlake/acpi/tcss_pcierp.asl b/src/soc/intel/meteorlake/acpi/tcss_pcierp.asl
index 48b8c739c5..6dbde46f49 100644
--- a/src/soc/intel/meteorlake/acpi/tcss_pcierp.asl
+++ b/src/soc/intel/meteorlake/acpi/tcss_pcierp.asl
@@ -247,25 +247,45 @@ Method (_PS3, 0, Serialized)
Method (_S0W, 0x0, NotSerialized)
{
+#if CONFIG(D3COLD_SUPPORT)
Return (0x4)
+#else
+ Return (0x3)
+#endif // D3COLD_SUPPORT
}
Method (_PR0)
{
+#if CONFIG(D3COLD_SUPPORT)
If ((TUID == 0) || (TUID == 1)) {
Return (Package() { \_SB.PCI0.D3C, \_SB.PCI0.TBT0 })
} Else {
Return (Package() { \_SB.PCI0.D3C, \_SB.PCI0.TBT1 })
}
+#else
+ If ((TUID == 0) || (TUID == 1)) {
+ Return (Package() { \_SB.PCI0.TBT0 })
+ } Else {
+ Return (Package() { \_SB.PCI0.TBT1 })
+ }
+#endif // D3COLD_SUPPORT
}
Method (_PR3)
{
+#if CONFIG(D3COLD_SUPPORT)
If ((TUID == 0) || (TUID == 1)) {
Return (Package() { \_SB.PCI0.D3C, \_SB.PCI0.TBT0 })
} Else {
Return (Package() { \_SB.PCI0.D3C, \_SB.PCI0.TBT1 })
}
+#else
+ If ((TUID == 0) || (TUID == 1)) {
+ Return (Package() { \_SB.PCI0.TBT0 })
+ } Else {
+ Return (Package() { \_SB.PCI0.TBT1 })
+ }
+#endif // D3COLD_SUPPORT
}
/*
diff --git a/src/soc/intel/meteorlake/acpi/tcss_xhci.asl b/src/soc/intel/meteorlake/acpi/tcss_xhci.asl
index 422e6f7f45..ddc5a6665d 100644
--- a/src/soc/intel/meteorlake/acpi/tcss_xhci.asl
+++ b/src/soc/intel/meteorlake/acpi/tcss_xhci.asl
@@ -30,7 +30,11 @@ Method (_PS3, 0, Serialized)
Method (_S0W, 0x0, NotSerialized)
{
+#if CONFIG(D3COLD_SUPPORT)
Return (0x4)
+#else
+ Return (0x3)
+#endif // D3COLD_SUPPORT
}
/*
@@ -39,6 +43,7 @@ Method (_S0W, 0x0, NotSerialized)
*/
Name (SD3C, 0)
+#if CONFIG(D3COLD_SUPPORT)
Method (_PR0)
{
Return (Package () { \_SB.PCI0.D3C })
@@ -48,6 +53,7 @@ Method (_PR3)
{
Return (Package () { \_SB.PCI0.D3C })
}
+#endif // D3COLD_SUPPORT
/*
* XHCI controller _DSM method