soc/intel/(adl, cmn, mtl): Refactor cse_fw_sync() function
This patch refactors cse_fw_sync() function to include timestamp associated with the CSE sync operation.This effort will ensure the SoC code just makes a call into the cse_fw_sync() without bothering about adding timestamp entries. TEST=Able to build and boot google/marasov. Signed-off-by: Subrata Banik <subratabanik@google.com> Change-Id: Ib5e8fc2b8c3b605103f7b1238df5a8405e363f83 Reviewed-on: https://review.coreboot.org/c/coreboot/+/74582 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Kangheui Won <khwon@chromium.org>
This commit is contained in:
parent
db7b35a9c9
commit
5ff0118a58
|
@ -180,11 +180,8 @@ void mainboard_romstage_entry(void)
|
||||||
if (!CONFIG(INTEL_TXT))
|
if (!CONFIG(INTEL_TXT))
|
||||||
disable_intel_txt();
|
disable_intel_txt();
|
||||||
|
|
||||||
if (CONFIG(SOC_INTEL_CSE_LITE_SYNC_IN_ROMSTAGE) && !s3wake) {
|
if (CONFIG(SOC_INTEL_CSE_LITE_SYNC_IN_ROMSTAGE) && !s3wake)
|
||||||
timestamp_add_now(TS_CSE_FW_SYNC_START);
|
|
||||||
cse_fw_sync();
|
cse_fw_sync();
|
||||||
timestamp_add_now(TS_CSE_FW_SYNC_END);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Program to Disable UFS Controllers */
|
/* Program to Disable UFS Controllers */
|
||||||
if (!is_devfn_enabled(PCH_DEVFN_UFS) &&
|
if (!is_devfn_enabled(PCH_DEVFN_UFS) &&
|
||||||
|
|
|
@ -1077,7 +1077,7 @@ static enum csme_failure_reason cse_sub_part_fw_update(const struct cse_bp_info
|
||||||
return handle_cse_sub_part_fw_update_rv(rv);
|
return handle_cse_sub_part_fw_update_rv(rv);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cse_fw_sync(void)
|
static void do_cse_fw_sync(void)
|
||||||
{
|
{
|
||||||
static struct get_bp_info_rsp cse_bp_info;
|
static struct get_bp_info_rsp cse_bp_info;
|
||||||
|
|
||||||
|
@ -1152,6 +1152,13 @@ void cse_fw_sync(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cse_fw_sync(void)
|
||||||
|
{
|
||||||
|
timestamp_add_now(TS_CSE_FW_SYNC_START);
|
||||||
|
do_cse_fw_sync();
|
||||||
|
timestamp_add_now(TS_CSE_FW_SYNC_END);
|
||||||
|
}
|
||||||
|
|
||||||
static enum cb_err send_get_fpt_partition_info_cmd(enum fpt_partition_id id,
|
static enum cb_err send_get_fpt_partition_info_cmd(enum fpt_partition_id id,
|
||||||
struct fw_version_resp *resp)
|
struct fw_version_resp *resp)
|
||||||
{
|
{
|
||||||
|
@ -1214,11 +1221,8 @@ static void ramstage_cse_fw_sync(void *unused)
|
||||||
if (acpi_get_sleep_type() == ACPI_S3)
|
if (acpi_get_sleep_type() == ACPI_S3)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (CONFIG(SOC_INTEL_CSE_LITE_SYNC_IN_RAMSTAGE)) {
|
if (CONFIG(SOC_INTEL_CSE_LITE_SYNC_IN_RAMSTAGE))
|
||||||
timestamp_add_now(TS_CSE_FW_SYNC_START);
|
|
||||||
cse_fw_sync();
|
cse_fw_sync();
|
||||||
timestamp_add_now(TS_CSE_FW_SYNC_END);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOT_STATE_INIT_ENTRY(BS_PRE_DEVICE, BS_ON_EXIT, ramstage_cse_fw_sync, NULL);
|
BOOT_STATE_INIT_ENTRY(BS_PRE_DEVICE, BS_ON_EXIT, ramstage_cse_fw_sync, NULL);
|
||||||
|
|
|
@ -128,11 +128,8 @@ void mainboard_romstage_entry(void)
|
||||||
/* Initialize HECI interface */
|
/* Initialize HECI interface */
|
||||||
cse_init(HECI1_BASE_ADDRESS);
|
cse_init(HECI1_BASE_ADDRESS);
|
||||||
|
|
||||||
if (!s3wake && CONFIG(SOC_INTEL_CSE_LITE_SKU)) {
|
if (!s3wake && CONFIG(SOC_INTEL_CSE_LITE_SKU))
|
||||||
timestamp_add_now(TS_CSE_FW_SYNC_START);
|
|
||||||
cse_fw_sync();
|
cse_fw_sync();
|
||||||
timestamp_add_now(TS_CSE_FW_SYNC_END);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Update coreboot timestamp table with CSE timestamps */
|
/* Update coreboot timestamp table with CSE timestamps */
|
||||||
if (CONFIG(SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY))
|
if (CONFIG(SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY))
|
||||||
|
|
Loading…
Reference in New Issue