summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorMichael Niewöhner <foss@mniewoehner.de>2022-05-18 22:27:13 +0200
committerMichael Niewöhner <foss@mniewoehner.de>2022-11-02 21:04:00 +0000
commita972e238dd63beca0c60bf00c6e1cef0bed95d27 (patch)
tree40113c2c71390f26c594cfe36169764328cb4818 /src/soc
parent060dc7b26d47d9750d0692340761ba34942b1545 (diff)
soc/intel/common: provide display hook in PEP for ECs
Provide PEP display notification hook for ECs. Change-Id: Icbfd294cdd238e63eb947c227a9cf73daca702ef Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/68789 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/intel/common/block/acpi/pep.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/acpi/pep.c b/src/soc/intel/common/block/acpi/pep.c
index cd1030cb8e..2ba9f94573 100644
--- a/src/soc/intel/common/block/acpi/pep.c
+++ b/src/soc/intel/common/block/acpi/pep.c
@@ -16,6 +16,7 @@
#define SYSTEM_POWER_MANAGEMENT_HID "INT33A1"
#define SYSTEM_POWER_MANAGEMENT_CID "PNP0D80"
#define EC_S0IX_HOOK "\\_SB.PCI0.LPCB.EC0.S0IX"
+#define EC_DISPLAY_HOOK "\\_SB.PCI0.LPCB.EC0.EDSX"
#define MAINBOARD_HOOK "\\_SB.MS0X"
#define MAINBOARD_DISPLAY_HOOK "\\_SB.MDSX"
#define ENABLE_PM_BITS_HOOK "\\_SB.PCI0.EGPM"
@@ -169,6 +170,12 @@ static void lpi_s0ix_exit(void *unused)
static void lpi_display_on(void *unused)
{
+ /* Inform the EC */
+ acpigen_write_if_cond_ref_of(EC_DISPLAY_HOOK);
+ acpigen_emit_namestring(EC_DISPLAY_HOOK);
+ acpigen_write_integer(1);
+ acpigen_write_if_end();
+
/* Provide a board level S0ix hook */
acpigen_write_if_cond_ref_of(MAINBOARD_DISPLAY_HOOK);
acpigen_emit_namestring(MAINBOARD_DISPLAY_HOOK);
@@ -178,6 +185,12 @@ static void lpi_display_on(void *unused)
static void lpi_display_off(void *unused)
{
+ /* Inform the EC */
+ acpigen_write_if_cond_ref_of(EC_DISPLAY_HOOK);
+ acpigen_emit_namestring(EC_DISPLAY_HOOK);
+ acpigen_write_integer(0);
+ acpigen_write_if_end();
+
/* Provide a board level S0ix hook */
acpigen_write_if_cond_ref_of(MAINBOARD_DISPLAY_HOOK);
acpigen_emit_namestring(MAINBOARD_DISPLAY_HOOK);