Lines Matching defs:cluster

46 static int tc2_pm_cpu_powerup(unsigned int cpu, unsigned int cluster)
48 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
49 if (cluster >= TC2_CLUSTERS || cpu >= tc2_nr_cpus[cluster])
51 ve_spc_set_resume_addr(cluster, cpu,
53 ve_spc_cpu_wakeup_irq(cluster, cpu, true);
57 static int tc2_pm_cluster_powerup(unsigned int cluster)
59 pr_debug("%s: cluster %u\n", __func__, cluster);
60 if (cluster >= TC2_CLUSTERS)
62 ve_spc_powerdown(cluster, false);
66 static void tc2_pm_cpu_powerdown_prepare(unsigned int cpu, unsigned int cluster)
68 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
69 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER);
70 ve_spc_cpu_wakeup_irq(cluster, cpu, true);
81 static void tc2_pm_cluster_powerdown_prepare(unsigned int cluster)
83 pr_debug("%s: cluster %u\n", __func__, cluster);
84 BUG_ON(cluster >= TC2_CLUSTERS);
85 ve_spc_powerdown(cluster, true);
112 static int tc2_core_in_reset(unsigned int cpu, unsigned int cluster)
114 u32 mask = cluster ?
124 static int tc2_pm_wait_for_powerdown(unsigned int cpu, unsigned int cluster)
128 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
129 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER);
132 pr_debug("%s(cpu=%u, cluster=%u): RESET_CTRL = 0x%08X\n",
133 __func__, cpu, cluster,
138 * controller may put the cluster in reset and
144 if (tc2_core_in_reset(cpu, cluster) ||
145 ve_spc_cpu_in_wfi(cpu, cluster))
155 static void tc2_pm_cpu_suspend_prepare(unsigned int cpu, unsigned int cluster)
157 ve_spc_set_resume_addr(cluster, cpu, __pa_symbol(mcpm_entry_point));
160 static void tc2_pm_cpu_is_up(unsigned int cpu, unsigned int cluster)
162 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
163 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER);
164 ve_spc_cpu_wakeup_irq(cluster, cpu, false);
165 ve_spc_set_resume_addr(cluster, cpu, 0);
168 static void tc2_pm_cluster_is_up(unsigned int cluster)
170 pr_debug("%s: cluster %u\n", __func__, cluster);
171 BUG_ON(cluster >= TC2_CLUSTERS);
172 ve_spc_powerdown(cluster, false);
190 * Enable cluster-level coherency, in preparation for turning on the MMU.
202 unsigned int mpidr, cpu, cluster;
210 * cluster ids and number of CPUs really available in clusters.
244 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
245 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster);
246 if (cluster >= TC2_CLUSTERS || cpu >= tc2_nr_cpus[cluster]) {