aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/plat/arm/css/common/css_pm.h12
-rw-r--r--plat/arm/css/common/css_pm.c6
-rw-r--r--plat/arm/css/drivers/scp/css_pm_scmi.c2
-rw-r--r--plat/arm/css/drivers/scp/css_pm_scpi.c2
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 0f92e60b3..e834fffc6 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 3df5b7813..986cb0846 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 3a255096e..91ea63a44 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 23fd80ee9..18e71f6e3 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 */