Lines Matching refs:cpu
36 #define RESET_A15_NCORERESET(cpu) (1 << (2 + (cpu))) argument
37 #define RESET_A7_NCORERESET(cpu) (1 << (16 + (cpu))) argument
51 static int tc2_pm_cpu_powerup(unsigned int cpu, unsigned int cluster) in tc2_pm_cpu_powerup() argument
53 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_cpu_powerup()
54 if (cluster >= TC2_CLUSTERS || cpu >= tc2_nr_cpus[cluster]) in tc2_pm_cpu_powerup()
56 ve_spc_set_resume_addr(cluster, cpu, in tc2_pm_cpu_powerup()
58 ve_spc_cpu_wakeup_irq(cluster, cpu, true); in tc2_pm_cpu_powerup()
71 static void tc2_pm_cpu_powerdown_prepare(unsigned int cpu, unsigned int cluster) in tc2_pm_cpu_powerdown_prepare() argument
73 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_cpu_powerdown_prepare()
74 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER); in tc2_pm_cpu_powerdown_prepare()
75 ve_spc_cpu_wakeup_irq(cluster, cpu, true); in tc2_pm_cpu_powerdown_prepare()
117 static int tc2_core_in_reset(unsigned int cpu, unsigned int cluster) in tc2_core_in_reset() argument
120 RESET_A7_NCORERESET(cpu) in tc2_core_in_reset()
121 : RESET_A15_NCORERESET(cpu); in tc2_core_in_reset()
129 static int tc2_pm_wait_for_powerdown(unsigned int cpu, unsigned int cluster) in tc2_pm_wait_for_powerdown() argument
133 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_wait_for_powerdown()
134 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER); in tc2_pm_wait_for_powerdown()
138 __func__, cpu, cluster, in tc2_pm_wait_for_powerdown()
149 if (tc2_core_in_reset(cpu, cluster) || in tc2_pm_wait_for_powerdown()
150 ve_spc_cpu_in_wfi(cpu, cluster)) in tc2_pm_wait_for_powerdown()
160 static void tc2_pm_cpu_suspend_prepare(unsigned int cpu, unsigned int cluster) in tc2_pm_cpu_suspend_prepare() argument
162 ve_spc_set_resume_addr(cluster, cpu, virt_to_phys(mcpm_entry_point)); in tc2_pm_cpu_suspend_prepare()
165 static void tc2_pm_cpu_is_up(unsigned int cpu, unsigned int cluster) in tc2_pm_cpu_is_up() argument
167 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_cpu_is_up()
168 BUG_ON(cluster >= TC2_CLUSTERS || cpu >= TC2_MAX_CPUS_PER_CLUSTER); in tc2_pm_cpu_is_up()
169 ve_spc_cpu_wakeup_irq(cluster, cpu, false); in tc2_pm_cpu_is_up()
170 ve_spc_set_resume_addr(cluster, cpu, 0); in tc2_pm_cpu_is_up()
207 unsigned int mpidr, cpu, cluster; in tc2_pm_init() local
248 cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0); in tc2_pm_init()
250 pr_debug("%s: cpu %u cluster %u\n", __func__, cpu, cluster); in tc2_pm_init()
251 if (cluster >= TC2_CLUSTERS || cpu >= tc2_nr_cpus[cluster]) { in tc2_pm_init()