• Home
  • Raw
  • Download

Lines Matching full:cluster

48 static int tc2_pm_cpu_powerup(unsigned int cpu, unsigned int cluster)  in tc2_pm_cpu_powerup()  argument
50 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_cpu_powerup()
51 if (cluster >= TC2_CLUSTERS || cpu >= tc2_nr_cpus[cluster]) in tc2_pm_cpu_powerup()
53 ve_spc_set_resume_addr(cluster, cpu, in tc2_pm_cpu_powerup()
55 ve_spc_cpu_wakeup_irq(cluster, cpu, true); in tc2_pm_cpu_powerup()
59 static int tc2_pm_cluster_powerup(unsigned int cluster) in tc2_pm_cluster_powerup() argument
61 pr_debug("%s: cluster %u\n", __func__, cluster); in tc2_pm_cluster_powerup()
62 if (cluster >= TC2_CLUSTERS) in tc2_pm_cluster_powerup()
64 ve_spc_powerdown(cluster, false); in tc2_pm_cluster_powerup()
68 static void tc2_pm_cpu_powerdown_prepare(unsigned int cpu, unsigned int cluster) in tc2_pm_cpu_powerdown_prepare() argument
70 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_cpu_powerdown_prepare()
71 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER); in tc2_pm_cpu_powerdown_prepare()
72 ve_spc_cpu_wakeup_irq(cluster, cpu, true); in tc2_pm_cpu_powerdown_prepare()
83 static void tc2_pm_cluster_powerdown_prepare(unsigned int cluster) in tc2_pm_cluster_powerdown_prepare() argument
85 pr_debug("%s: cluster %u\n", __func__, cluster); in tc2_pm_cluster_powerdown_prepare()
86 BUG_ON(cluster >= TC2_CLUSTERS); in tc2_pm_cluster_powerdown_prepare()
87 ve_spc_powerdown(cluster, true); in tc2_pm_cluster_powerdown_prepare()
114 static int tc2_core_in_reset(unsigned int cpu, unsigned int cluster) in tc2_core_in_reset() argument
116 u32 mask = cluster ? in tc2_core_in_reset()
126 static int tc2_pm_wait_for_powerdown(unsigned int cpu, unsigned int cluster) in tc2_pm_wait_for_powerdown() argument
130 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_wait_for_powerdown()
131 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER); in tc2_pm_wait_for_powerdown()
134 pr_debug("%s(cpu=%u, cluster=%u): RESET_CTRL = 0x%08X\n", in tc2_pm_wait_for_powerdown()
135 __func__, cpu, cluster, in tc2_pm_wait_for_powerdown()
140 * controller may put the cluster in reset and in tc2_pm_wait_for_powerdown()
146 if (tc2_core_in_reset(cpu, cluster) || in tc2_pm_wait_for_powerdown()
147 ve_spc_cpu_in_wfi(cpu, cluster)) in tc2_pm_wait_for_powerdown()
157 static void tc2_pm_cpu_suspend_prepare(unsigned int cpu, unsigned int cluster) in tc2_pm_cpu_suspend_prepare() argument
159 ve_spc_set_resume_addr(cluster, cpu, __pa_symbol(mcpm_entry_point)); in tc2_pm_cpu_suspend_prepare()
162 static void tc2_pm_cpu_is_up(unsigned int cpu, unsigned int cluster) in tc2_pm_cpu_is_up() argument
164 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_cpu_is_up()
165 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER); in tc2_pm_cpu_is_up()
166 ve_spc_cpu_wakeup_irq(cluster, cpu, false); in tc2_pm_cpu_is_up()
167 ve_spc_set_resume_addr(cluster, cpu, 0); in tc2_pm_cpu_is_up()
170 static void tc2_pm_cluster_is_up(unsigned int cluster) in tc2_pm_cluster_is_up() argument
172 pr_debug("%s: cluster %u\n", __func__, cluster); in tc2_pm_cluster_is_up()
173 BUG_ON(cluster >= TC2_CLUSTERS); in tc2_pm_cluster_is_up()
174 ve_spc_powerdown(cluster, false); in tc2_pm_cluster_is_up()
192 * Enable cluster-level coherency, in preparation for turning on the MMU.
204 unsigned int mpidr, cpu, cluster; in tc2_pm_init() local
212 * cluster ids and number of CPUs really available in clusters. in tc2_pm_init()
246 cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1); in tc2_pm_init()
247 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_init()
248 if (cluster >= TC2_CLUSTERS || cpu >= tc2_nr_cpus[cluster]) { in tc2_pm_init()