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

Srinidhi Kasagar srinidhi.kasagar at stericsson.com
Fri Nov 2 08:44:34 EDT 2012


Rob,

On Wed, Oct 31, 2012 at 15:58:34 +0100, Rob Herring wrote:
> From: Rob Herring <rob.herring at calxeda.com>
> 
> 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.
> 
> Signed-off-by: Rob Herring <rob.herring at calxeda.com>
> Cc: Russell King <linux at arm.linux.org.uk>
> Cc: Kukjin Kim <kgene.kim at samsung.com>
> Cc: Rob Herring <rob.herring at calxeda.com>
> Cc: Sascha Hauer <kernel at pengutronix.de>
> Cc: David Brown <davidb at codeaurora.org>
> Cc: Daniel Walker <dwalker at fifo99.com>
> Cc: Bryan Huntsman <bryanh at codeaurora.org>
> Cc: Tony Lindgren <tony at atomide.com>
> Cc: Paul Mundt <lethal at linux-sh.org>
> Cc: Magnus Damm <magnus.damm at gmail.com>
> Cc: Viresh Kumar <viresh.linux at gmail.com>
> Cc: Shiraz Hashim <shiraz.hashim at st.com>
> Cc: Stephen Warren <swarren at wwwdotorg.org>
> Cc: Srinidhi Kasagar <srinidhi.kasagar at stericsson.com>
> Cc: Linus Walleij <linus.walleij at linaro.org>
> ---

[...]

>  static void __init tegra_smp_prepare_cpus(unsigned int max_cpus)
> diff --git a/arch/arm/mach-ux500/platsmp.c b/arch/arm/mach-ux500/platsmp.c
> index 3db7782..774e527 100644
> --- a/arch/arm/mach-ux500/platsmp.c
> +++ b/arch/arm/mach-ux500/platsmp.c
> @@ -155,8 +155,6 @@ static void __init ux500_smp_init_cpus(void)
> 
>         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?

>From 6a574702ad6c45819c182a2c2bbd70d3ba7a859f Mon Sep 17 00:00:00 2001
From: srinidhi kasagar <srinidhi.kasagar at stericsson.com>
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 <srinidhi.kasagar at stericsson.com>
---
 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)) {
-- 
1.7.2.dirty




More information about the linux-arm-kernel mailing list