diff --git a/drivers/marvell/secure_dfx_access/armada_thermal.c b/drivers/marvell/secure_dfx_access/armada_thermal.c index 776fb2482f5fa2e562c01eb5ace8b2ed52eb6f51..4f7191b5c0857b5d640c6483c05595f99b647619 100644 --- a/drivers/marvell/secure_dfx_access/armada_thermal.c +++ b/drivers/marvell/secure_dfx_access/armada_thermal.c @@ -217,8 +217,8 @@ static void armada_is_valid(u_register_t *read) *read = (mmio_read_32(TSEN_STATUS) & TSEN_STATUS_VALID_MASK); } -int mvebu_dfx_handle(u_register_t func, u_register_t *read, u_register_t x2, - u_register_t x3) +int mvebu_dfx_thermal_handle(u_register_t func, u_register_t *read, + u_register_t x2, u_register_t x3) { debug_enter(); diff --git a/drivers/marvell/secure_dfx_access/dfx.h b/drivers/marvell/secure_dfx_access/dfx.h index e60d2f9c5edfcca6b049c123fce7e3a928ee416e..52efbf9410dd319aeb362f7f41d3ae13065413d7 100644 --- a/drivers/marvell/secure_dfx_access/dfx.h +++ b/drivers/marvell/secure_dfx_access/dfx.h @@ -13,5 +13,5 @@ #define MV_SIP_DFX_THERMAL_THRESH 5 #define MV_SIP_DFX_THERMAL_SEL_CHANNEL 6 -int mvebu_dfx_handle(u_register_t func, u_register_t *read, u_register_t x2, - u_register_t x3); +int mvebu_dfx_thermal_handle(u_register_t func, u_register_t *read, + u_register_t x2, u_register_t x3); diff --git a/plat/marvell/armada/common/mrvl_sip_svc.c b/plat/marvell/armada/common/mrvl_sip_svc.c index bdf79b2112793fc7a54404cb090e122d4159e1e5..aa94393013850619b581aefd04d120a07bb8a3d9 100644 --- a/plat/marvell/armada/common/mrvl_sip_svc.c +++ b/plat/marvell/armada/common/mrvl_sip_svc.c @@ -139,8 +139,12 @@ uintptr_t mrvl_sip_smc_handler(uint32_t smc_fid, SMC_RET1(handle, 0); #endif case MV_SIP_DFX: - ret = mvebu_dfx_handle(x1, &read, x2, x3); - SMC_RET2(handle, ret, read); + if (x1 >= MV_SIP_DFX_THERMAL_INIT && + x1 <= MV_SIP_DFX_THERMAL_SEL_CHANNEL) { + ret = mvebu_dfx_thermal_handle(x1, &read, x2, x3); + SMC_RET2(handle, ret, read); + } + SMC_RET1(handle, SMC_UNK); case MV_SIP_RNG_64: ret = eip76_rng_get_random((uint8_t *)&w2, 4 * (x1 % 2 + 1)); SMC_RET3(handle, ret, w2[0], w2[1]);