aboutsummaryrefslogtreecommitdiff
path: root/lib/utils/cppc/fdt_cppc_rpmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils/cppc/fdt_cppc_rpmi.c')
-rw-r--r--lib/utils/cppc/fdt_cppc_rpmi.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/utils/cppc/fdt_cppc_rpmi.c b/lib/utils/cppc/fdt_cppc_rpmi.c
index 26e2d4f..b678990 100644
--- a/lib/utils/cppc/fdt_cppc_rpmi.c
+++ b/lib/utils/cppc/fdt_cppc_rpmi.c
@@ -59,6 +59,11 @@ static void rpmi_cppc_fc_db_trigger(struct rpmi_cppc *cppc)
u8 db_val_u8 = 0;
u16 db_val_u16 = 0;
u32 db_val_u32 = 0;
+#if __riscv_xlen != 32
+ u64 db_val_u64 = 0;
+#else
+ u32 db_val_u32_hi = 0;
+#endif
switch (cppc->fc_db_width) {
case RPMI_CPPC_FAST_CHANNEL_DB_WIDTH_8:
@@ -84,14 +89,12 @@ static void rpmi_cppc_fc_db_trigger(struct rpmi_cppc *cppc)
break;
case RPMI_CPPC_FAST_CHANNEL_DB_WIDTH_64:
#if __riscv_xlen != 32
- u64 db_val_u64 = 0;
db_val_u64 = readq((void *)cppc->fc_db_addr);
db_val_u64 = cppc->fc_db_setmask |
(db_val_u64 & cppc->fc_db_preservemask);
writeq(db_val_u64, (void *)cppc->fc_db_addr);
#else
- u32 db_val_u32_hi = 0;
db_val_u32 = readl((void *)cppc->fc_db_addr);
db_val_u32_hi = readl((void *)(cppc->fc_db_addr + 4));