ARM: TC2: replace hard coded cluster and cpu values with constants

This patch adds constants in a tc2 specific header file to prevent
use of hard coded values for specifying the number of cpus and
clusters.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
This commit is contained in:
Achin Gupta
2013-03-10 22:36:51 +00:00
committed by Jon Medhurst
parent dd94c6f646
commit 922b78c709
2 changed files with 21 additions and 5 deletions

View File

@@ -0,0 +1,10 @@
#ifndef __MACH_TC2_H
#define __MACH_TC2_H
/*
* cpu and cluster limits
*/
#define TC2_MAX_CPUS 3
#define TC2_MAX_CLUSTERS 2
#endif

View File

@@ -25,6 +25,7 @@
#include <asm/cp15.h>
#include <mach/motherboard.h>
#include <mach/tc2.h>
#include <linux/vexpress.h>
#include <linux/arm-cci.h>
@@ -37,12 +38,13 @@
*/
static arch_spinlock_t tc2_pm_lock = __ARCH_SPIN_LOCK_UNLOCKED;
static int tc2_pm_use_count[3][2];
static int tc2_pm_use_count[TC2_MAX_CPUS][TC2_MAX_CLUSTERS];
static int tc2_pm_power_up(unsigned int cpu, unsigned int cluster)
{
pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
if (cluster >= 2 || cpu >= vexpress_spc_get_nb_cpus(cluster))
if (cluster >= TC2_MAX_CLUSTERS ||
cpu >= vexpress_spc_get_nb_cpus(cluster))
return -EINVAL;
/*
@@ -90,7 +92,8 @@ static void tc2_pm_down(u64 residency)
cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
BUG_ON(cluster >= 2 || cpu >= vexpress_spc_get_nb_cpus(cluster));
BUG_ON(cluster >= TC2_MAX_CLUSTERS ||
cpu >= vexpress_spc_get_nb_cpus(cluster));
__mcpm_cpu_going_down(cpu, cluster);
@@ -194,7 +197,8 @@ static void tc2_pm_powered_up(void)
cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
BUG_ON(cluster >= 2 || cpu >= vexpress_spc_get_nb_cpus(cluster));
BUG_ON(cluster >= TC2_MAX_CLUSTERS ||
cpu >= vexpress_spc_get_nb_cpus(cluster));
local_irq_save(flags);
arch_spin_lock(&tc2_pm_lock);
@@ -232,7 +236,9 @@ static void __init tc2_pm_usage_count_init(void)
cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
BUG_ON(cpu >= 3 || cluster >= 2);
BUG_ON(cluster >= TC2_MAX_CLUSTERS ||
cpu >= vexpress_spc_get_nb_cpus(cluster));
tc2_pm_use_count[cpu][cluster] = 1;
}