From 05e88fe5a533963526b90776dd835f71777f6d86 Mon Sep 17 00:00:00 2001 From: Usha P Date: Thu, 8 Jun 2023 09:55:38 +0530 Subject: [PATCH] intelblocks/pep: Send All Monitor Off/On command only in FWCM case ALL_MONITOR_OFF command is sent using DPOF. TBT controller needs to be notified about ALL_MONITOR_OFF(TBT Displays OFF) only when Firmware Connection Manager(FWCM) is in use during S0ix Entry/Exit. When configured for SWCM this command should not be sent. BUG=b:288536417 TEST= Build and boot Rex Proto-1. Verify S0ix working. Signed-off-by: Usha P Change-Id: I110fb971846f110e7d93a524ceda3bf4bfc15c13 Reviewed-on: https://review.coreboot.org/c/coreboot/+/75717 Reviewed-by: Kapil Porwal Tested-by: build bot (Jenkins) Reviewed-by: Utkarsh H Patel Reviewed-by: Jamie Ryu Reviewed-by: Subrata Banik --- src/soc/intel/common/block/acpi/pep.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/soc/intel/common/block/acpi/pep.c b/src/soc/intel/common/block/acpi/pep.c index b3150198ba..5e0334530c 100644 --- a/src/soc/intel/common/block/acpi/pep.c +++ b/src/soc/intel/common/block/acpi/pep.c @@ -249,9 +249,11 @@ static void lpi_s0ix_entry(void *unused) acpigen_write_if_end(); /* Handle Thunderbolt displays */ - acpigen_write_if_cond_ref_of(THUNDERBOLT_DEVICE); - acpigen_write_store_int_to_namestr(1, THUNDERBOLT_IOM_DPOF); - acpigen_write_if_end(); + if (CONFIG(FIRMWARE_CONNECTION_MANAGER)) { + acpigen_write_if_cond_ref_of(THUNDERBOLT_DEVICE); + acpigen_write_store_int_to_namestr(1, THUNDERBOLT_IOM_DPOF); + acpigen_write_if_end(); + } } static void lpi_s0ix_exit(void *unused) @@ -274,9 +276,11 @@ static void lpi_s0ix_exit(void *unused) acpigen_write_if_end(); /* Handle Thunderbolt displays */ - acpigen_write_if_cond_ref_of(THUNDERBOLT_DEVICE); - acpigen_write_store_int_to_namestr(0, THUNDERBOLT_IOM_DPOF); - acpigen_write_if_end(); + if (CONFIG(FIRMWARE_CONNECTION_MANAGER)) { + acpigen_write_if_cond_ref_of(THUNDERBOLT_DEVICE); + acpigen_write_store_int_to_namestr(0, THUNDERBOLT_IOM_DPOF); + acpigen_write_if_end(); + } } static void lpi_display_on(void *unused)