mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-05-08 18:41:22 +00:00
Unify type of "cpu_idx" across PSCI module.
cpu_idx is used as mix of `unsigned int` and `signed int` in code with typecasting at some places. This change is to unify the cpu_idx as `unsigned int` as underlying API;s `plat_my_core_pos` returns `unsigned int` It was discovered via coverity issue CID 354715 Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: I4f0adb0c596ff1177210c5fe803bff853f2e54ce
This commit is contained in:
parent
5dbdf8e4ea
commit
fc81021aed
2 changed files with 19 additions and 17 deletions
|
@ -159,9 +159,10 @@ void psci_query_sys_suspend_pwrstate(psci_power_state_t *state_info)
|
|||
******************************************************************************/
|
||||
unsigned int psci_is_last_on_cpu(void)
|
||||
{
|
||||
int cpu_idx, my_idx = (int) plat_my_core_pos();
|
||||
unsigned int cpu_idx, my_idx = plat_my_core_pos();
|
||||
|
||||
for (cpu_idx = 0; cpu_idx < PLATFORM_CORE_COUNT; cpu_idx++) {
|
||||
for (cpu_idx = 0; cpu_idx < (unsigned int)PLATFORM_CORE_COUNT;
|
||||
cpu_idx++) {
|
||||
if (cpu_idx == my_idx) {
|
||||
assert(psci_get_aff_info_state() == AFF_STATE_ON);
|
||||
continue;
|
||||
|
@ -206,7 +207,7 @@ static void psci_set_req_local_pwr_state(unsigned int pwrlvl,
|
|||
{
|
||||
assert(pwrlvl > PSCI_CPU_PWR_LVL);
|
||||
if ((pwrlvl > PSCI_CPU_PWR_LVL) && (pwrlvl <= PLAT_MAX_PWR_LVL) &&
|
||||
(cpu_idx < PLATFORM_CORE_COUNT)) {
|
||||
(cpu_idx < (unsigned int) PLATFORM_CORE_COUNT)) {
|
||||
psci_req_local_pwr_states[pwrlvl - 1U][cpu_idx] = req_pwr_state;
|
||||
}
|
||||
}
|
||||
|
@ -237,12 +238,12 @@ void __init psci_init_req_local_pwr_states(void)
|
|||
* assertion is added to prevent us from accessing the CPU power level.
|
||||
*****************************************************************************/
|
||||
static plat_local_state_t *psci_get_req_local_pwr_states(unsigned int pwrlvl,
|
||||
int cpu_idx)
|
||||
unsigned int cpu_idx)
|
||||
{
|
||||
assert(pwrlvl > PSCI_CPU_PWR_LVL);
|
||||
|
||||
if ((pwrlvl > PSCI_CPU_PWR_LVL) && (pwrlvl <= PLAT_MAX_PWR_LVL) &&
|
||||
(cpu_idx < PLATFORM_CORE_COUNT)) {
|
||||
(cpu_idx < (unsigned int) PLATFORM_CORE_COUNT)) {
|
||||
return &psci_req_local_pwr_states[pwrlvl - 1U][cpu_idx];
|
||||
} else
|
||||
return NULL;
|
||||
|
@ -351,7 +352,7 @@ static void psci_set_target_local_pwr_states(unsigned int end_pwrlvl,
|
|||
/*******************************************************************************
|
||||
* PSCI helper function to get the parent nodes corresponding to a cpu_index.
|
||||
******************************************************************************/
|
||||
void psci_get_parent_pwr_domain_nodes(int cpu_idx,
|
||||
void psci_get_parent_pwr_domain_nodes(unsigned int cpu_idx,
|
||||
unsigned int end_lvl,
|
||||
unsigned int *node_index)
|
||||
{
|
||||
|
@ -417,7 +418,7 @@ void psci_do_state_coordination(unsigned int end_pwrlvl,
|
|||
psci_power_state_t *state_info)
|
||||
{
|
||||
unsigned int lvl, parent_idx, cpu_idx = plat_my_core_pos();
|
||||
int start_idx;
|
||||
unsigned int start_idx;
|
||||
unsigned int ncpus;
|
||||
plat_local_state_t target_state, *req_states;
|
||||
|
||||
|
@ -763,7 +764,7 @@ int psci_validate_entry_point(entry_point_info_t *ep,
|
|||
void psci_warmboot_entrypoint(void)
|
||||
{
|
||||
unsigned int end_pwrlvl;
|
||||
int cpu_idx = (int) plat_my_core_pos();
|
||||
unsigned int cpu_idx = plat_my_core_pos();
|
||||
unsigned int parent_nodes[PLAT_MAX_PWR_LVL] = {0};
|
||||
psci_power_state_t state_info = { {PSCI_LOCAL_STATE_RUN} };
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
|
||||
* Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
@ -55,16 +55,16 @@ static inline aff_info_state_t psci_get_aff_info_state(void)
|
|||
return get_cpu_data(psci_svc_cpu_data.aff_info_state);
|
||||
}
|
||||
|
||||
static inline aff_info_state_t psci_get_aff_info_state_by_idx(int idx)
|
||||
static inline aff_info_state_t psci_get_aff_info_state_by_idx(unsigned int idx)
|
||||
{
|
||||
return get_cpu_data_by_index((unsigned int)idx,
|
||||
return get_cpu_data_by_index(idx,
|
||||
psci_svc_cpu_data.aff_info_state);
|
||||
}
|
||||
|
||||
static inline void psci_set_aff_info_state_by_idx(int idx,
|
||||
static inline void psci_set_aff_info_state_by_idx(unsigned int idx,
|
||||
aff_info_state_t aff_state)
|
||||
{
|
||||
set_cpu_data_by_index((unsigned int)idx,
|
||||
set_cpu_data_by_index(idx,
|
||||
psci_svc_cpu_data.aff_info_state, aff_state);
|
||||
}
|
||||
|
||||
|
@ -88,9 +88,10 @@ static inline plat_local_state_t psci_get_cpu_local_state(void)
|
|||
return get_cpu_data(psci_svc_cpu_data.local_state);
|
||||
}
|
||||
|
||||
static inline plat_local_state_t psci_get_cpu_local_state_by_idx(int idx)
|
||||
static inline plat_local_state_t psci_get_cpu_local_state_by_idx(
|
||||
unsigned int idx)
|
||||
{
|
||||
return get_cpu_data_by_index((unsigned int)idx,
|
||||
return get_cpu_data_by_index(idx,
|
||||
psci_svc_cpu_data.local_state);
|
||||
}
|
||||
|
||||
|
@ -113,7 +114,7 @@ typedef struct non_cpu_pwr_domain_node {
|
|||
* Index of the first CPU power domain node level 0 which has this node
|
||||
* as its parent.
|
||||
*/
|
||||
int cpu_start_idx;
|
||||
unsigned int cpu_start_idx;
|
||||
|
||||
/*
|
||||
* Number of CPU power domains which are siblings of the domain indexed
|
||||
|
@ -269,7 +270,7 @@ void psci_get_target_local_pwr_states(unsigned int end_pwrlvl,
|
|||
psci_power_state_t *target_state);
|
||||
int psci_validate_entry_point(entry_point_info_t *ep,
|
||||
uintptr_t entrypoint, u_register_t context_id);
|
||||
void psci_get_parent_pwr_domain_nodes(int cpu_idx,
|
||||
void psci_get_parent_pwr_domain_nodes(unsigned int cpu_idx,
|
||||
unsigned int end_lvl,
|
||||
unsigned int *node_index);
|
||||
void psci_do_state_coordination(unsigned int end_pwrlvl,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue