Thread (21 messages) 21 messages, 9 authors, 2012-11-19
STALE4946d
Revisions (9)
  1. v1 [diff vs current]
  2. v1 [diff vs current]
  3. v2 [diff vs current]
  4. v2 [diff vs current]
  5. v2 [diff vs current]
  6. v2 [diff vs current]
  7. v2 [diff vs current]
  8. v2 current
  9. v2 [diff vs current]

[PATCH v2 2/5] ARM: gic: remove direct use of gic_raise_softirq

From: Srinidhi Kasagar <hidden>
Date: 2012-11-19 11:50:22

On Fri, Nov 02, 2012 at 13:44:33 +0100, Srinidhi Kasagar wrote:
Rob,

On Wed, Oct 31, 2012 at 15:58:34 +0100, Rob Herring wrote:
quoted
From: Rob Herring <redacted>

In preparation of moving gic code to drivers/irqchip, remove the direct
platform dependencies on gic_raise_softirq. Move the setup of
smp_cross_call into the gic code. Now that all platforms are using IPI#0
for core wakeup, create a common wakeup ipi function.
[...]

quoted
        for (i = 0; i < ncores; i++)
                set_cpu_possible(i, true);
-
-       set_smp_cross_call(gic_raise_softirq);
The ux500 changes looks ok too..

However would you mind re-spinning your series on top of the below patch?
ping??
quoted hunk ↗ jump to hunk
From 6a574702ad6c45819c182a2c2bbd70d3ba7a859f Mon Sep 17 00:00:00 2001
From: srinidhi kasagar <redacted>
Date: Fri, 2 Nov 2012 12:45:40 +0530
Subject: [PATCH] ARM : mach-ux500: use SGI0 to wake up the other core

The commit 7d28e3eaa1a8e951251b942e7220f97114bd73b9
("ARM: ux500: wake secondary cpu via resched") makes use
of schedule IPI to wake up the secondary core which seems
incorrect. Rather use SGI0.

Signed-off-by: srinidhi kasagar <redacted>
---
 arch/arm/mach-ux500/platsmp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-ux500/platsmp.c b/arch/arm/mach-ux500/platsmp.c
index da1d5ad..3f996f2 100644
--- a/arch/arm/mach-ux500/platsmp.c
+++ b/arch/arm/mach-ux500/platsmp.c
@@ -97,7 +97,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
 	 */
 	write_pen_release(cpu_logical_map(cpu));
 
-	smp_send_reschedule(cpu);
+	gic_raise_softirq(cpumask_of(cpu), 0);
 
 	timeout = jiffies + (1 * HZ);
 	while (time_before(jiffies, timeout)) {
-- 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help