.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * OMAP4 SMP source file. It contains platform specific functions |
---|
3 | 4 | * needed for the linux smp kernel. |
---|
.. | .. |
---|
10 | 11 | * Platform file needed for the OMAP4 SMP. This file is based on arm |
---|
11 | 12 | * realview smp platform. |
---|
12 | 13 | * * Copyright (c) 2002 ARM Limited. |
---|
13 | | - * |
---|
14 | | - * This program is free software; you can redistribute it and/or modify |
---|
15 | | - * it under the terms of the GNU General Public License version 2 as |
---|
16 | | - * published by the Free Software Foundation. |
---|
17 | 14 | */ |
---|
18 | 15 | #include <linux/init.h> |
---|
19 | 16 | #include <linux/device.h> |
---|
.. | .. |
---|
69 | 66 | .startup_addr = omap5_secondary_startup, |
---|
70 | 67 | }; |
---|
71 | 68 | |
---|
72 | | -static DEFINE_SPINLOCK(boot_lock); |
---|
73 | | - |
---|
74 | 69 | void __iomem *omap4_get_scu_base(void) |
---|
75 | 70 | { |
---|
76 | 71 | return cfg.scu_base; |
---|
77 | 72 | } |
---|
78 | 73 | |
---|
79 | 74 | #ifdef CONFIG_OMAP5_ERRATA_801819 |
---|
80 | | -void omap5_erratum_workaround_801819(void) |
---|
| 75 | +static void omap5_erratum_workaround_801819(void) |
---|
81 | 76 | { |
---|
82 | 77 | u32 acr, revidr; |
---|
83 | 78 | u32 acr_mask; |
---|
.. | .. |
---|
173 | 168 | /* Enable ACR to allow for ICUALLU workaround */ |
---|
174 | 169 | omap5_secondary_harden_predictor(); |
---|
175 | 170 | } |
---|
176 | | - |
---|
177 | | - /* |
---|
178 | | - * Synchronise with the boot thread. |
---|
179 | | - */ |
---|
180 | | - spin_lock(&boot_lock); |
---|
181 | | - spin_unlock(&boot_lock); |
---|
182 | 171 | } |
---|
183 | 172 | |
---|
184 | 173 | static int omap4_boot_secondary(unsigned int cpu, struct task_struct *idle) |
---|
.. | .. |
---|
186 | 175 | static struct clockdomain *cpu1_clkdm; |
---|
187 | 176 | static bool booted; |
---|
188 | 177 | static struct powerdomain *cpu1_pwrdm; |
---|
189 | | - |
---|
190 | | - /* |
---|
191 | | - * Set synchronisation state between this boot processor |
---|
192 | | - * and the secondary one |
---|
193 | | - */ |
---|
194 | | - spin_lock(&boot_lock); |
---|
195 | 178 | |
---|
196 | 179 | /* |
---|
197 | 180 | * Update the AuxCoreBoot0 with boot state for secondary core. |
---|
.. | .. |
---|
265 | 248 | } |
---|
266 | 249 | |
---|
267 | 250 | arch_send_wakeup_ipi_mask(cpumask_of(cpu)); |
---|
268 | | - |
---|
269 | | - /* |
---|
270 | | - * Now the secondary core is starting up let it run its |
---|
271 | | - * calibrations, then wait for it to finish |
---|
272 | | - */ |
---|
273 | | - spin_unlock(&boot_lock); |
---|
274 | 251 | |
---|
275 | 252 | return 0; |
---|
276 | 253 | } |
---|