soc/intel/pantherlake: Inject CSE TS into CBMEM timestamp table
Get boot performance timestamps from CSE and inject them into CBMEM timestamp table. For Panther Lake, remove "Die Management Unit (DMU) load completed" and add "ESE completed AUnit loading" instead. 990:CSME ROM started execution 0 992:ESE completed AUnit loading 0 944:CSE sent 'Boot Stall Done' to PMC 174,000 945:CSE started to handle ICC configuration 274,000 (100,000) 946:CSE sent 'Host BIOS Prep Done' to PMC 274,000 (0) 947:CSE received 'CPU Reset Done Ack sent' from PMC 448,000 (174,000) 0:1st timestamp 556,874 (108,874) BUG=b:376218080 TEST=Able to see TS elapse prior to IA reset on Fatcat Signed-off-by: Bora Guvendik <bora.guvendik@intel.com> Change-Id: Ie7716b8c371b82c13da1b0217dce1a16e7b95cee Reviewed-on: https://review.coreboot.org/c/coreboot/+/84872 Reviewed-by: Subrata Banik <subratabanik@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
ed85f01281
commit
ce3b7f0e34
4 changed files with 52 additions and 2 deletions
|
|
@ -295,6 +295,13 @@ config SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V2
|
|||
This config will make mainboard use version 2 of the CSE timestamp
|
||||
definitions, it can be used for Meteor Lake M/P.
|
||||
|
||||
config SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V3
|
||||
bool
|
||||
select SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY
|
||||
help
|
||||
This config will make mainboard use version 3 of the CSE timestamp
|
||||
definitions, it can be used for Panther Lake U/H.
|
||||
|
||||
config SOC_INTEL_CSE_LITE_SYNC_IN_ROMSTAGE
|
||||
bool
|
||||
default !SOC_INTEL_CSE_LITE_SYNC_IN_RAMSTAGE
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
#include "cse_telemetry_v1.h"
|
||||
#elif CONFIG(SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V2)
|
||||
#include "cse_telemetry_v2.h"
|
||||
#elif CONFIG(SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V3)
|
||||
#include "cse_telemetry_v3.h"
|
||||
#endif
|
||||
|
||||
#endif // SOC_INTEL_COMMON_CSE_TELEMETRY_H
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#ifndef SOC_INTEL_COMMON_CSE_TELEMETRY_V3_H
|
||||
#define SOC_INTEL_COMMON_CSE_TELEMETRY_V3_H
|
||||
|
||||
enum cse_boot_perf_data_v3 {
|
||||
/* CSME ROM start execution */
|
||||
PERF_DATA_CSME_ROM_START = 0,
|
||||
|
||||
/* 1 - 5 Reserved */
|
||||
|
||||
/* CSME RBE set "Boot Stall Done" indication to PMC */
|
||||
PERF_DATA_CSME_RBE_BOOT_STALL_DONE_TO_PMC = 6,
|
||||
|
||||
/* 7 - 14 Reserved */
|
||||
|
||||
/* CSME got ICC_CFG_START message from PMC */
|
||||
PERF_DATA_CSME_GOT_ICC_CFG_START_MSG_FROM_PMC = 15,
|
||||
|
||||
/* 15 - 16 Reserved */
|
||||
|
||||
/* CSME set "Host Boot Prep Done" indication to PMC */
|
||||
PERF_DATA_CSME_HOST_BOOT_PREP_DONE = 17,
|
||||
|
||||
/* 18 - 32 Reserved */
|
||||
|
||||
/* PMC sent "Core Reset Done Ack - Sent" message to CSME */
|
||||
PERF_DATA_PMC_SENT_CRDA = 33,
|
||||
|
||||
/* 34 - 35 Reserved */
|
||||
|
||||
/* ESE completed AUnit loading */
|
||||
PERF_DATA_ESE_LOAD_AUNIT_COMPLETED = 36,
|
||||
|
||||
/* 37 - 62 Reserved */
|
||||
|
||||
/* Timestamp when CSME responded to BupGetBootData message itself */
|
||||
PERF_DATA_CSME_GET_PERF_RESPONSE = 63,
|
||||
};
|
||||
|
||||
#endif /* SOC_INTEL_COMMON_CSE_TELEMETRY_V3_H */
|
||||
|
|
@ -24,6 +24,6 @@ void soc_cbmem_inject_telemetry_data(s64 *ts, s64 current_time)
|
|||
start_stamp + ts[PERF_DATA_CSME_HOST_BOOT_PREP_DONE]);
|
||||
timestamp_add(TS_ME_RECEIVED_CRDA_FROM_PMC,
|
||||
start_stamp + ts[PERF_DATA_PMC_SENT_CRDA]);
|
||||
timestamp_add(TS_ISSE_DMU_LOAD_END,
|
||||
start_stamp + ts[PERF_DATA_ISSE_DMU_LOAD_COMPLETED]);
|
||||
timestamp_add(TS_ESE_LOAD_AUNIT_END,
|
||||
start_stamp + ts[PERF_DATA_ESE_LOAD_AUNIT_COMPLETED]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue