summaryrefslogtreecommitdiff
path: root/src/soc/intel/alderlake/crashlog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/alderlake/crashlog.c')
-rw-r--r--src/soc/intel/alderlake/crashlog.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/soc/intel/alderlake/crashlog.c b/src/soc/intel/alderlake/crashlog.c
index 5a08c25a62..a85fa0144a 100644
--- a/src/soc/intel/alderlake/crashlog.c
+++ b/src/soc/intel/alderlake/crashlog.c
@@ -23,7 +23,7 @@ static pmc_crashlog_desc_table_t descriptor_table;
static tel_crashlog_devsc_cap_t cpu_cl_devsc_cap;
static cpu_crashlog_discovery_table_t cpu_cl_disc_tab;
-u32 __weak cl_get_cpu_mb_int_addr(void)
+uintptr_t __weak cl_get_cpu_mb_int_addr(void)
{
return CRASHLOG_MAILBOX_INTF_ADDRESS;
}
@@ -119,7 +119,7 @@ bool pmc_cl_discovery(void)
return true;
}
-u32 cl_get_cpu_bar_addr(void)
+uintptr_t cl_get_cpu_bar_addr(void)
{
u32 base_addr = 0;
if (cpu_cl_devsc_cap.discovery_data.fields.t_bir_q == TEL_DVSEC_TBIR_BAR0) {
@@ -137,7 +137,7 @@ u32 cl_get_cpu_bar_addr(void)
}
-u32 cl_get_cpu_tmp_bar(void)
+uintptr_t cl_get_cpu_tmp_bar(void)
{
return sram_get_bar();
}
@@ -189,8 +189,12 @@ static bool cpu_cl_get_capability(tel_crashlog_devsc_cap_t *cl_devsc_cap)
static bool cpu_cl_gen_discovery_table(void)
{
- u32 bar_addr = 0, disc_tab_addr = 0;
+ uintptr_t bar_addr = 0, disc_tab_addr = 0;
bar_addr = cl_get_cpu_bar_addr();
+
+ if (!bar_addr)
+ return false;
+
disc_tab_addr = bar_addr +
cpu_cl_devsc_cap.discovery_data.fields.discovery_table_offset;
memset(&cpu_cl_disc_tab, 0, sizeof(cpu_crashlog_discovery_table_t));