From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/6] ARM: mvebu: introduce CPU reset code
Date: Thu, 27 Mar 2014 15:00:17 +0100 [thread overview]
Message-ID: <53342EF1.3020508@free-electrons.com> (raw)
In-Reply-To: <1395927485-11842-2-git-send-email-thomas.petazzoni@free-electrons.com>
Hi Thomas,
On 27/03/2014 14:38, Thomas Petazzoni wrote:
> The Armada 370 and Armada XP have registers that allow to reset the
> CPUs, which is particularly useful to take the secondary CPUs out of
> reset in the context of the SMP support.
>
> Unfortunately, an implementation mistake was originally made and the
> support for these registers was integrated into the PMSU driver, which
> is in fact completely unrelated. And it turns out that the Armada 375
> has the same CPU reset registers, but does not have the PMSU
> registers.
>
> Therefore, this commit creates a small CPU reset driver. All it does
> is provide a simple mvebu_cpu_reset_deassert() function that the SMP
> support code can call to take secondary CPUs out of reset. As of this
> commit, the driver isn't being used, it will be used through changes
> in the following commits.
>
> Note that we initially planned to use the 'reset controller'
> framework, but it requires the addition of "resets" properties in the
> Device Tree, which are causing too many problems if we want to keep
> the Device Tree backward compatibility. Moreover, the 'reset
> controller' framework is mainly useful when a device driver needs to
> request a reset of its device from a separate reset controller. In our
> case, the CPU reset handling and the SMP core code are both located in
> arch/arm/mach-mvebu/ and are tightly linked together, so there's no
> real benefit in going through a separate framework.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
[...]
> +static struct of_device_id of_cpu_reset_table[] = {
> + {.compatible = "marvell,armada-370-cpu-reset", .data = (void*) ARMADA_370_MAX_CPUS },
What about removing the previous line. As explained in patch 5, the CPU
reset driver is not really needed as Armada 370 is single core and the
only use of the CPU reset driver is to boot secondary processors. So by
removing this line we can keep the marvell,armada-370-cpu-reset node in
the device tree without doing useless initialization.
Thanks,
Gregory
> + {.compatible = "marvell,armada-xp-cpu-reset", .data = (void*) ARMADA_XP_MAX_CPUS },
> + { /* end of list */ },
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2014-03-27 14:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-27 13:37 [PATCH 0/6] ARM: mvebu: prepare PMSU code for cpuidle and Armada 375/38x SMP Thomas Petazzoni
2014-03-27 13:38 ` [PATCH 1/6] ARM: mvebu: introduce CPU reset code Thomas Petazzoni
2014-03-27 14:00 ` Gregory CLEMENT [this message]
2014-03-27 14:19 ` Thomas Petazzoni
2014-03-27 15:58 ` Gregory CLEMENT
2014-03-27 14:12 ` Sebastian Hesselbarth
2014-03-27 14:21 ` Thomas Petazzoni
2014-03-27 13:38 ` [PATCH 2/6] ARM: mvebu: start using the CPU reset driver Thomas Petazzoni
2014-03-27 15:58 ` Gregory CLEMENT
2014-03-27 13:38 ` [PATCH 3/6] ARM: mvebu: improve PMSU driver to request its resource Thomas Petazzoni
2014-03-27 15:59 ` Gregory CLEMENT
2014-03-27 13:38 ` [PATCH 4/6] ARM: mvebu: extend the PMSU registers Thomas Petazzoni
2014-03-27 13:38 ` [PATCH 5/6] ARM: mvebu: switch to the new PMSU binding in Armada 370/XP Device Tree Thomas Petazzoni
2014-03-27 13:38 ` [PATCH 6/6] ARM: mvebu: use a separate function to set the boot address of CPUs Thomas Petazzoni
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=53342EF1.3020508@free-electrons.com \
--to=gregory.clement@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 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.