Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/62271 )
Change subject: intelblocks/cse: Skip sending EOP during S3 resume ......................................................................
intelblocks/cse: Skip sending EOP during S3 resume
coreboot should skip sending EOP during S3 resume since CSE doesn't require EOP in resume path.
Currently EOP is being sent during PAYLOAD_BOOT or PAYLOAD_LOAD stage which doesn't get called during S3 resume.
In case EOP is moved in earlier stage, coreboot might send EOP in S3 resume as well. This patch adds check before calling cse_send_eop.
BUG=b:211085685 BRANCH=None TEST=Check by moving EOP to earlier stage. EOP sending is skipped during S3 resume.
Change-Id: I8f22446974bc1e7b2d57468633c36bb99ffe1436 Signed-off-by: MAULIK V VAGHELA maulik.v.vaghela@intel.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/62271 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Sridhar Siricilla sridhar.siricilla@intel.com Reviewed-by: Subrata Banik subratabanik@google.com --- M src/soc/intel/common/block/cse/cse_eop.c 1 file changed, 6 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Sridhar Siricilla: Looks good to me, approved Subrata Banik: Looks good to me, approved
diff --git a/src/soc/intel/common/block/cse/cse_eop.c b/src/soc/intel/common/block/cse/cse_eop.c index 0f1d6ca..3a08a73 100644 --- a/src/soc/intel/common/block/cse/cse_eop.c +++ b/src/soc/intel/common/block/cse/cse_eop.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */
+#include <acpi/acpi.h> #include <bootstate.h> #include <console/console.h> #include <intelblocks/cse.h> @@ -175,6 +176,11 @@ return; }
+ if (acpi_get_sleep_type() == ACPI_S3) { + printk(BIOS_INFO, "Skip sending EOP during S3 resume\n"); + return; + } + /* * If CSE is already hidden then accessing CSE registers would be wrong and will * receive junk, hence, return as CSE is already disabled.