From: antoine.tenart@free-electrons.com (Antoine Ténart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5] ARM: berlin: add SMP support
Date: Mon, 2 Jun 2014 12:00:48 +0200 [thread overview]
Message-ID: <20140602100048.GA12162@kwain> (raw)
In-Reply-To: <20140602094715.GG28090@lunn.ch>
Hi Andrew,
On Mon, Jun 02, 2014 at 11:47:15AM +0200, Andrew Lunn wrote:
> On Mon, Jun 02, 2014 at 11:21:02AM +0200, Antoine T?nart wrote:
> > +
> > +static inline void berlin_reset_cpu(unsigned int cpu)
> > +{
> > + u32 val;
> > +
> > + val = readl(cpu_ctrl + CPU_RESET);
> > + val |= BIT(cpu_logical_map(cpu));
> > + writel(val, cpu_ctrl + CPU_RESET);
> > +}
>
> Is this performing a reset on the CPU, or is it taking it out of reset?
>
> If you are going to implement CPU hotplug at some point, you are going
> to want to be able to put the CPU into reset, i.e. power it off, and
> take it out of reset, i.e. power it on and getting it running. So it
> might help if we get these function names clear now.
It is performing a reset on the CPU. berlin_perform_reset_cpu() then?
> > +
> > +static void __init berlin_smp_prepare_cpus(unsigned int max_cpus)
> > +{
> > + struct device_node *np;
> > + void __iomem *scu_base;
> > + void __iomem *vectors_base;
> > +
> > + np = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-scu");
> > + scu_base = of_iomap(np, 0);
> > + of_node_put(np);
> > + if (!scu_base)
> > + return;
> > +
> > + np = of_find_compatible_node(NULL, NULL, "marvell,berlin-cpu-ctrl");
> > + cpu_ctrl = of_iomap(np, 0);
> > + of_node_put(np);
> > + if (!cpu_ctrl)
> > + goto unmap_scu;
> > +
> > + vectors_base = ioremap(CONFIG_VECTORS_BASE, SZ_32K);
> > + if (!vectors_base)
> > + goto unmap_scu;
> > +
> > + scu_enable(scu_base);
> > + flush_cache_all();
> > +
> > + /*
> > + * Write the first instruction the CPU will execute after being reseted
> > + * in the reset exception register.
> > + */
> > + writel(boot_inst, vectors_base + RESET_VECT);
> > +
> > + /*
> > + * Write the secondary startup address into the SW reset address
> > + * register. This is used by boot_inst.
>
> Maybe it would be better to call this the reset address vector instead
> of address register. It is in the vector space after all.
I don't have a strong opinion on this. I can update the 'reset exception
register' as well then.
Antoine
--
Antoine T?nart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2014-06-02 10:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-02 9:21 [PATCH 0/5] ARM: Berlin: SMP support Antoine Ténart
2014-06-02 9:21 ` [PATCH 1/5] ARM: berlin: add " Antoine Ténart
2014-06-02 9:29 ` Russell King - ARM Linux
2014-06-02 9:35 ` Antoine Ténart
2014-06-02 9:47 ` Andrew Lunn
2014-06-02 10:00 ` Antoine Ténart [this message]
2014-06-02 10:03 ` Andrew Lunn
2014-06-02 10:27 ` Antoine Ténart
2014-06-03 6:19 ` Jisheng Zhang
2014-06-03 7:50 ` Andrew Lunn
2014-06-03 8:02 ` Jisheng Zhang
2014-06-03 6:31 ` Jisheng Zhang
2014-06-03 7:10 ` Antoine Ténart
2014-06-03 7:18 ` Jisheng Zhang
2014-06-02 9:21 ` [PATCH 2/5] Documentation: bindings: document the Marvell Berlin enable-method Antoine Ténart
2014-06-02 10:44 ` Mark Rutland
2014-06-02 9:21 ` [PATCH 3/5] Documentation: bindings: add the Berlin CPU control doc Antoine Ténart
2014-06-02 9:21 ` [PATCH 4/5] ARM: dts: berlin: add SMP related nodes and properties for BG2 Antoine Ténart
2014-06-02 9:21 ` [PATCH 5/5] ARM: dts: berlin: add SMP related nodes and properties for BG2Q Antoine Ténart
2014-06-02 9:35 ` [PATCH 0/5] ARM: Berlin: SMP support Andrew Lunn
2014-06-02 9:44 ` Antoine Ténart
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=20140602100048.GA12162@kwain \
--to=antoine.tenart@free-electrons.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).