Subrata Banik has submitted this change. ( https://review.coreboot.org/c/coreboot/+/69978 )
Change subject: soc/intel/cmn/cse: Allow to perform essential CSE operations post EOP ......................................................................
soc/intel/cmn/cse: Allow to perform essential CSE operations post EOP
This patch allows to send late EOP cmd to CSE (after CSE .final) using boot state machine (either BS_PAYLOAD_BOOT or BS_PAYLOAD_LOAD) if the SoC user selects SOC_INTEL_CSE_SEND_EOP_LATE config.
Rename `set_cse_end_of_post()` to `send_cse_eop_with_late_finalize()` to make the function name more meaningful with its operation.
BUG=b:260041679 TEST=Able to boot Google/Rex after sending CSE EOP late.
Signed-off-by: Subrata Banik subratabanik@google.com Change-Id: If4c4564befcd38732368b21f1ca3e24b68c30e0c Reviewed-on: https://review.coreboot.org/c/coreboot/+/69978 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Kapil Porwal kapilporwal@google.com Reviewed-by: Lean Sheng Tan sheng.tan@9elements.com --- M src/soc/intel/common/block/cse/cse_eop.c 1 file changed, 30 insertions(+), 4 deletions(-)
Approvals: build bot (Jenkins): Verified Lean Sheng Tan: Looks good to me, approved Kapil Porwal: 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 b8b8e36..53a4fa5 100644 --- a/src/soc/intel/common/block/cse/cse_eop.c +++ b/src/soc/intel/common/block/cse/cse_eop.c @@ -238,9 +238,11 @@ return do_send_end_of_post(); }
-static void set_cse_end_of_post(void *unused) +static void send_cse_eop_with_late_finalize(void *unused) { - return do_send_end_of_post(); + do_send_end_of_post(); + if (CONFIG(SOC_INTEL_CSE_SEND_EOP_LATE)) + cse_late_finalize(); }
/* @@ -253,7 +255,7 @@ * BS_PAYLOAD_BOOT instead. */ #if !CONFIG(HECI_DISABLE_USING_SMM) -BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_BOOT, BS_ON_ENTRY, set_cse_end_of_post, NULL); +BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_BOOT, BS_ON_ENTRY, send_cse_eop_with_late_finalize, NULL); #else -BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_ENTRY, set_cse_end_of_post, NULL); +BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_LOAD, BS_ON_ENTRY, send_cse_eop_with_late_finalize, NULL); #endif