summaryrefslogtreecommitdiffstats
path: root/arch/arc/plat-arcfpga/smp.c
Commit message (Collapse)AuthorAgeFilesLines
* ARC: [arcfpga] RIP legacy ISS based SMP extensionVineet Gupta2015-06-191-186/+0
| | | | | | With ISS long unsupported, no point in having extension based on it Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: [arcfpga] Remove more dead codeVineet Gupta2014-10-131-1/+2
| | | | | | | specifically after switching to generic early arc uart, whole bunch of code is no longer needed Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: [SMP] ISS SMP extension bitrotVineet Gupta2014-05-051-0/+18
| | | | | | | * Move extension specific code out of common SMP code * Don't enable it by default for SMP Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: [SMP] IPI ACK interface doesn't need "self" cpu-idVineet Gupta2013-12-231-2/+2
| | | | | | | | The interface is confusing, it feels like we are getting "sender" info, whereas it is the "receiver", which can very well be retrived by smp_processor_id(), if need be. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: [SMP] cpumask not needed in IPI send pathVineet Gupta2013-12-231-6/+2
| | | | | | | | | | | | | | | The current IPI sending callstack needlessly involves cpumask. arch_send_call_function_single_ipi(cpu) / smp_send_reschedule(cpu) ipi_send_msg(cpumask_of(cpu)) --> [cpu to cpumask] plat_smp_ops.ipi_send(callmap) for_each_cpu(callmap) --> [cpuask to cpu] do_plat_specific_ipi_PER_CPU Given that current backends are not capable of 1:N IPIs, lets simplify the interface for now, by keeping "a" cpu all along. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* ARC: [Review] Multi-platform image #8: platform registers SMP callbacksVineet Gupta2013-02-151-18/+23
| | | | | | | | | Platforms export their SMP callbacks by populating arc_smp_ops. The population itself needs to be done pretty early, from init_early callback. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Arnd Bergmann <arnd@arndb.de>
* ARC: [Review] Multi-platform image #4: Isolate platform headersVineet Gupta2013-02-151-1/+2
| | | | | | | | | | | | | | -Top level ARC makefile removes -I for platform headers -asm/irq.h no longer includes plat/irq.h -platform makefile adds -I for it's specfic platform headers -platform code to directly include it's plat/irq.h -Linker script needed plat/memmap.h for CCM info, already in .config Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Arnd Bergmann <arnd@arndb.de> Acked-by: Arnd Bergmann <arnd@arndb.de>
* ARC: [Review] Multi-platform image #3: switch to board callbackVineet Gupta2013-02-151-3/+1
| | | | | | | | -platform API is retired and instead callbacks are used Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Arnd Bergmann <arnd@arndb.de> Acked-by: Arnd Bergmann <arnd@arndb.de>
* ARC: SMP supportVineet Gupta2013-02-151-0/+167
ARC common code to enable a SMP system + ISS provided SMP extensions. ARC700 natively lacks SMP support, hence some of the core features are are only enabled if SoCs have the necessary h/w pixie-dust. This includes: -Inter Processor Interrupts (IPI) -Cache coherency -load-locked/store-conditional ... The low level exception handling would be completely broken in SMP because we don't have hardware assisted stack switching. Thus a fair bit of this code is repurposing the MMU_SCRATCH reg for event handler prologues to keep them re-entrant. Many thanks to Rajeshwar Ranga for his initial "major" contributions to SMP Port (back in 2008), and to Noam Camus and Gilad Ben-Yossef for help with resurrecting that in 3.2 kernel (2012). Note that this platform code is again singleton design pattern - so multiple SMP platforms won't build at the moment - this deficiency is addressed in subsequent patches within this series. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Rajeshwar Ranga <rajeshwar.ranga@gmail.com> Cc: Noam Camus <noamc@ezchip.com> Cc: Gilad Ben-Yossef <gilad@benyossef.com>
OpenPOWER on IntegriCloud