ARM: TC2: replace hard coded cluster and cpu values with constants
authorAchin Gupta <achin.gupta@arm.com>
Sun, 10 Mar 2013 22:36:51 +0000 (22:36 +0000)
committerJon Medhurst <tixy@linaro.org>
Mon, 1 Jul 2013 10:05:15 +0000 (11:05 +0100)
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>
arch/arm/mach-vexpress/include/mach/tc2.h [new file with mode: 0644]
arch/arm/mach-vexpress/tc2_pm.c

diff --git a/arch/arm/mach-vexpress/include/mach/tc2.h b/arch/arm/mach-vexpress/include/mach/tc2.h
new file mode 100644 (file)
index 0000000..d3b5a22
--- /dev/null
@@ -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
index aa866e5f9eac33b093ddf73d7b2907c60819627b..fddea7c3a2a06df3b8631a253a555d5d0902a05f 100644 (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>
  */
 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;
 }