diff --git a/src/soc/intel/common/block/cse/Kconfig b/src/soc/intel/common/block/cse/Kconfig index 0b518c3b8d..657494a03a 100644 --- a/src/soc/intel/common/block/cse/Kconfig +++ b/src/soc/intel/common/block/cse/Kconfig @@ -294,7 +294,7 @@ config SOC_INTEL_CSE_LITE_COMPRESS_ME_RW config SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY def_bool n - depends on SOC_INTEL_CSE_LITE_SKU && !SOC_INTEL_CSE_LITE_SYNC_BY_PAYLOAD + depends on !SOC_INTEL_CSE_LITE_SYNC_BY_PAYLOAD help Mainboard user to select this Kconfig in order to capture pre-cpu reset boot performance telemetry data. diff --git a/src/soc/intel/common/block/cse/cse_lite.c b/src/soc/intel/common/block/cse/cse_lite.c index 09281ab150..76e0853637 100644 --- a/src/soc/intel/common/block/cse/cse_lite.c +++ b/src/soc/intel/common/block/cse/cse_lite.c @@ -60,35 +60,6 @@ void cse_log_ro_write_protection_info(bool mfg_mode) printk(BIOS_ERR, "ME: Write protection for CSE RO is not enabled\n"); } -enum cb_err cse_get_boot_performance_data(struct cse_boot_perf_rsp *boot_perf_rsp) -{ - struct cse_boot_perf_req { - struct mkhi_hdr hdr; - uint32_t reserved; - } __packed; - - struct cse_boot_perf_req req = { - .hdr.group_id = MKHI_GROUP_ID_BUP_COMMON, - .hdr.command = MKHI_BUP_COMMON_GET_BOOT_PERF_DATA, - .reserved = 0, - }; - - size_t resp_size = sizeof(struct cse_boot_perf_rsp); - - if (heci_send_receive(&req, sizeof(req), boot_perf_rsp, &resp_size, - HECI_MKHI_ADDR)) { - printk(BIOS_ERR, "cse_lite: Could not get boot performance data\n"); - return CB_ERR; - } - - if (boot_perf_rsp->hdr.result) { - printk(BIOS_ERR, "cse_lite: Get boot performance data resp failed: %d\n", - boot_perf_rsp->hdr.result); - return CB_ERR; - } - - return CB_SUCCESS; -} static const struct cse_bp_info *cse_get_bp_info_from_rsp(void) { diff --git a/src/soc/intel/common/block/cse/telemetry.c b/src/soc/intel/common/block/cse/telemetry.c index c1c70e5595..2c9fb54581 100644 --- a/src/soc/intel/common/block/cse/telemetry.c +++ b/src/soc/intel/common/block/cse/telemetry.c @@ -6,6 +6,36 @@ #define MSEC_TO_USEC(x) (x * 1000) +enum cb_err cse_get_boot_performance_data(struct cse_boot_perf_rsp *boot_perf_rsp) +{ + struct cse_boot_perf_req { + struct mkhi_hdr hdr; + uint32_t reserved; + } __packed; + + struct cse_boot_perf_req req = { + .hdr.group_id = MKHI_GROUP_ID_BUP_COMMON, + .hdr.command = MKHI_BUP_COMMON_GET_BOOT_PERF_DATA, + .reserved = 0, + }; + + size_t resp_size = sizeof(struct cse_boot_perf_rsp); + + if (heci_send_receive(&req, sizeof(req), boot_perf_rsp, &resp_size, + HECI_MKHI_ADDR)) { + printk(BIOS_ERR, "cse: Could not get boot performance data\n"); + return CB_ERR; + } + + if (boot_perf_rsp->hdr.result) { + printk(BIOS_ERR, "cse: Get boot performance data resp failed: %d\n", + boot_perf_rsp->hdr.result); + return CB_ERR; + } + + return CB_SUCCESS; +} + static void process_cse_telemetry_data(void) { struct cse_boot_perf_rsp cse_perf_data;