From: Magnus Damm <magnus.damm@gmail.com>
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/07] ARM: shmobile: Introduce shared SCU SMP boot code
Date: Wed, 31 Jul 2013 07:07:12 +0000 [thread overview]
Message-ID: <20130731070712.14444.49956.sendpatchset@w520> (raw)
In-Reply-To: <20130731070702.14444.64961.sendpatchset@w520>
From: Magnus Damm <damm@opensource.se>
Add SMP boot functions for SCU equipped mach-shmobile SoCs.
At this point shmobile_smp_scu_prepare_cpus() controls the SCU and
installs boot fn and arg, while shmobile_smp_scu_boot_secondary()
currently does nothing. In the future the boot function and arg
install code will be reworked, so the empty function is ground
work for that.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
arch/arm/mach-shmobile/include/mach/common.h | 3 ++
arch/arm/mach-shmobile/platsmp-scu.c | 31 ++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
--- 0001/arch/arm/mach-shmobile/include/mach/common.h
+++ work/arch/arm/mach-shmobile/include/mach/common.h 2013-07-29 16:50:17.000000000 +0900
@@ -11,6 +11,9 @@ extern void shmobile_boot_vector(void);
extern unsigned long shmobile_boot_fn;
extern unsigned long shmobile_boot_arg;
extern void shmobile_boot_scu(void);
+extern void shmobile_smp_scu_prepare_cpus(unsigned int max_cpus);
+extern int shmobile_smp_scu_boot_secondary(unsigned int cpu,
+ struct task_struct *idle);
struct clk;
extern int shmobile_clk_init(void);
extern void shmobile_handle_irq_intc(struct pt_regs *);
--- /dev/null
+++ work/arch/arm/mach-shmobile/platsmp-scu.c 2013-07-29 21:39:30.000000000 +0900
@@ -0,0 +1,31 @@
+/*
+ * SMP support for SoCs with SCU covered by mach-shmobile
+ *
+ * Copyright (C) 2013 Magnus Damm
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/smp.h>
+#include <asm/smp_plat.h>
+#include <asm/smp_scu.h>
+#include <mach/common.h>
+
+void __init shmobile_smp_scu_prepare_cpus(unsigned int max_cpus)
+{
+ shmobile_boot_fn = virt_to_phys(shmobile_boot_scu);
+ shmobile_boot_arg = (unsigned long)shmobile_scu_base;
+
+ /* enable SCU and cache coherency on booting CPU */
+ scu_enable(shmobile_scu_base);
+ scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL);
+}
+
+int shmobile_smp_scu_boot_secondary(unsigned int cpu, struct task_struct *idle)
+{
+ /* do nothing for now */
+ return 0;
+}
WARNING: multiple messages have this Message-ID (diff)
From: magnus.damm@gmail.com (Magnus Damm)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/07] ARM: shmobile: Introduce shared SCU SMP boot code
Date: Wed, 31 Jul 2013 16:07:12 +0900 [thread overview]
Message-ID: <20130731070712.14444.49956.sendpatchset@w520> (raw)
In-Reply-To: <20130731070702.14444.64961.sendpatchset@w520>
From: Magnus Damm <damm@opensource.se>
Add SMP boot functions for SCU equipped mach-shmobile SoCs.
At this point shmobile_smp_scu_prepare_cpus() controls the SCU and
installs boot fn and arg, while shmobile_smp_scu_boot_secondary()
currently does nothing. In the future the boot function and arg
install code will be reworked, so the empty function is ground
work for that.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
arch/arm/mach-shmobile/include/mach/common.h | 3 ++
arch/arm/mach-shmobile/platsmp-scu.c | 31 ++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
--- 0001/arch/arm/mach-shmobile/include/mach/common.h
+++ work/arch/arm/mach-shmobile/include/mach/common.h 2013-07-29 16:50:17.000000000 +0900
@@ -11,6 +11,9 @@ extern void shmobile_boot_vector(void);
extern unsigned long shmobile_boot_fn;
extern unsigned long shmobile_boot_arg;
extern void shmobile_boot_scu(void);
+extern void shmobile_smp_scu_prepare_cpus(unsigned int max_cpus);
+extern int shmobile_smp_scu_boot_secondary(unsigned int cpu,
+ struct task_struct *idle);
struct clk;
extern int shmobile_clk_init(void);
extern void shmobile_handle_irq_intc(struct pt_regs *);
--- /dev/null
+++ work/arch/arm/mach-shmobile/platsmp-scu.c 2013-07-29 21:39:30.000000000 +0900
@@ -0,0 +1,31 @@
+/*
+ * SMP support for SoCs with SCU covered by mach-shmobile
+ *
+ * Copyright (C) 2013 Magnus Damm
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/smp.h>
+#include <asm/smp_plat.h>
+#include <asm/smp_scu.h>
+#include <mach/common.h>
+
+void __init shmobile_smp_scu_prepare_cpus(unsigned int max_cpus)
+{
+ shmobile_boot_fn = virt_to_phys(shmobile_boot_scu);
+ shmobile_boot_arg = (unsigned long)shmobile_scu_base;
+
+ /* enable SCU and cache coherency on booting CPU */
+ scu_enable(shmobile_scu_base);
+ scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL);
+}
+
+int shmobile_smp_scu_boot_secondary(unsigned int cpu, struct task_struct *idle)
+{
+ /* do nothing for now */
+ return 0;
+}
next prev parent reply other threads:[~2013-07-31 7:07 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-31 7:07 [PATCH 00/07] ARM: shmobile: sh73a0, r8a7779 and emev2 SMP SCU rework Magnus Damm
2013-07-31 7:07 ` Magnus Damm
2013-07-31 7:07 ` Magnus Damm [this message]
2013-07-31 7:07 ` [PATCH 01/07] ARM: shmobile: Introduce shared SCU SMP boot code Magnus Damm
2013-07-31 7:07 ` [PATCH 02/07] ARM: shmobile: Use shared SCU SMP boot code on sh73a0 Magnus Damm
2013-07-31 7:07 ` Magnus Damm
2013-07-31 7:07 ` [PATCH 03/07] ARM: shmobile: Use shared SCU SMP boot code on r8a7779 Magnus Damm
2013-07-31 7:07 ` Magnus Damm
2013-07-31 7:07 ` [PATCH 04/07] ARM: shmobile: Use shared SCU SMP boot code on emev2 Magnus Damm
2013-07-31 7:07 ` Magnus Damm
2013-07-31 7:07 ` [PATCH 05/07] ARM: shmobile: Add shared SCU CPU Hotplug code Magnus Damm
2013-07-31 7:07 ` Magnus Damm
2013-07-31 7:07 ` [PATCH 06/07] ARM: shmobile: Use shared SCU CPU Hotplug code on sh73a0 Magnus Damm
2013-07-31 7:07 ` Magnus Damm
2013-07-31 7:08 ` [PATCH 07/07] ARM: shmobile: Use shared SCU CPU Hotplug code on r8a7779 Magnus Damm
2013-07-31 7:08 ` Magnus Damm
2013-08-01 7:34 ` [PATCH 00/07] ARM: shmobile: sh73a0, r8a7779 and emev2 SMP SCU rework Simon Horman
2013-08-01 7:34 ` Simon Horman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130731070712.14444.49956.sendpatchset@w520 \
--to=magnus.damm@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.