From 9b4c611c4b05fdf03722d2de488ea49beb10a8b7 Mon Sep 17 00:00:00 2001 From: Nariman Poushin Date: Tue, 1 May 2018 09:28:40 +0100 Subject: [PATCH] plat/arm: css: Convert CSS_SYSTEM_PWR_STATE from macro to inline function This is to fix a number of Coverity Scan DEADCODE defects, CID numbers listed below, as reported from https://scan.coverity.com/projects/arm-software-arm-trusted-firmware CID 267023 CID 267022 CID 267020 Change-Id: I2963a799b210149e84ccab5c5b9082267ddfe337 Signed-off-by: Nariman Poushin --- include/plat/arm/css/common/css_pm.h | 12 +++++++++--- plat/arm/css/common/css_pm.c | 6 +++--- plat/arm/css/drivers/scp/css_pm_scmi.c | 2 +- plat/arm/css/drivers/scp/css_pm_scpi.c | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/include/plat/arm/css/common/css_pm.h b/include/plat/arm/css/common/css_pm.h index 0f92e60b..e834fffc 100644 --- a/include/plat/arm/css/common/css_pm.h +++ b/include/plat/arm/css/common/css_pm.h @@ -17,9 +17,15 @@ /* Macros to read the CSS power domain state */ #define CSS_CORE_PWR_STATE(state) (state)->pwr_domain_state[ARM_PWR_LVL0] #define CSS_CLUSTER_PWR_STATE(state) (state)->pwr_domain_state[ARM_PWR_LVL1] -#define CSS_SYSTEM_PWR_STATE(state) \ - ((PLAT_MAX_PWR_LVL == CSS_SYSTEM_PWR_DMN_LVL) ?\ - (state)->pwr_domain_state[CSS_SYSTEM_PWR_DMN_LVL] : 0) + +static inline unsigned int css_system_pwr_state(const psci_power_state_t *state) +{ +#if (PLAT_MAX_PWR_LVL == CSS_SYSTEM_PWR_DMN_LVL) + return state->pwr_domain_state[CSS_SYSTEM_PWR_DMN_LVL]; +#else + return 0; +#endif +} int css_pwr_domain_on(u_register_t mpidr); void css_pwr_domain_on_finish(const psci_power_state_t *target_state); diff --git a/plat/arm/css/common/css_pm.c b/plat/arm/css/common/css_pm.c index 3df5b781..986cb084 100644 --- a/plat/arm/css/common/css_pm.c +++ b/plat/arm/css/common/css_pm.c @@ -96,7 +96,7 @@ static void css_pwr_domain_on_finisher_common( void css_pwr_domain_on_finish(const psci_power_state_t *target_state) { /* Assert that the system power domain need not be initialized */ - assert(CSS_SYSTEM_PWR_STATE(target_state) == ARM_LOCAL_STATE_RUN); + assert(css_system_pwr_state(target_state) == ARM_LOCAL_STATE_RUN); /* Program the gic per-cpu distributor or re-distributor interface */ plat_arm_gic_pcpu_init(); @@ -149,7 +149,7 @@ void css_pwr_domain_suspend(const psci_power_state_t *target_state) css_power_down_common(target_state); /* Perform system domain state saving if issuing system suspend */ - if (CSS_SYSTEM_PWR_STATE(target_state) == ARM_LOCAL_STATE_OFF) { + if (css_system_pwr_state(target_state) == ARM_LOCAL_STATE_OFF) { arm_system_pwr_domain_save(); /* Power off the Redistributor after having saved its context */ @@ -174,7 +174,7 @@ void css_pwr_domain_suspend_finish( return; /* Perform system domain restore if woken up from system suspend */ - if (CSS_SYSTEM_PWR_STATE(target_state) == ARM_LOCAL_STATE_OFF) + if (css_system_pwr_state(target_state) == ARM_LOCAL_STATE_OFF) /* * At this point, the Distributor must be powered on to be ready * to have its state restored. The Redistributor will be powered diff --git a/plat/arm/css/drivers/scp/css_pm_scmi.c b/plat/arm/css/drivers/scp/css_pm_scmi.c index 3a255096..91ea63a4 100644 --- a/plat/arm/css/drivers/scp/css_pm_scmi.c +++ b/plat/arm/css/drivers/scp/css_pm_scmi.c @@ -87,7 +87,7 @@ void css_scp_suspend(const struct psci_power_state *target_state) ARM_LOCAL_STATE_OFF); /* Check if power down at system power domain level is requested */ - if (CSS_SYSTEM_PWR_STATE(target_state) == ARM_LOCAL_STATE_OFF) { + if (css_system_pwr_state(target_state) == ARM_LOCAL_STATE_OFF) { /* Issue SCMI command for SYSTEM_SUSPEND */ ret = scmi_sys_pwr_state_set(scmi_handle, SCMI_SYS_PWR_FORCEFUL_REQ, diff --git a/plat/arm/css/drivers/scp/css_pm_scpi.c b/plat/arm/css/drivers/scp/css_pm_scpi.c index 23fd80ee..18e71f6e 100644 --- a/plat/arm/css/drivers/scp/css_pm_scpi.c +++ b/plat/arm/css/drivers/scp/css_pm_scpi.c @@ -25,7 +25,7 @@ void css_scp_suspend(const struct psci_power_state *target_state) uint32_t system_state = scpi_power_on; /* Check if power down at system power domain level is requested */ - if (CSS_SYSTEM_PWR_STATE(target_state) == ARM_LOCAL_STATE_OFF) + if (css_system_pwr_state(target_state) == ARM_LOCAL_STATE_OFF) system_state = scpi_power_retention; /* Cluster is to be turned off, so disable coherency */ -- 2.30.2