From: Tomasz Figa <t.figa@samsung.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Chander Kashyap <chander.kashyap@linaro.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
linux-serial@vger.kernel.org, Kukjin Kim <kgene.kim@samsung.com>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
mark.rutland@arm.com, thomas.ab@samsung.com,
Lists linaro-kernel <linaro-kernel@lists.linaro.org>
Subject: Re: [PATCH v4 02/10] ARM: dts: list the CPU nodes for Exynos5250
Date: Thu, 29 Aug 2013 13:51:47 +0200 [thread overview]
Message-ID: <1440260.Z9PFmnVfM0@amdc1227> (raw)
In-Reply-To: <CAOh2x=nsQ5paiMHSH8z9drsqr7_+TvMtNefczf8QNQNbYo0y=Q@mail.gmail.com>
Hi Viresh,
On Thursday 29 of August 2013 13:45:56 Viresh Kumar wrote:
> On Tue, Jun 18, 2013 at 11:59 AM, Chander Kashyap
>
> <chander.kashyap@linaro.org> wrote:
> > Instead of having to specify the number for CPUs in Exynos5250 in
> > platsmp.c file, let the number of CPUs be determined by having this
> > information listed in Exynos5250 device tree file.
> >
> > Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> > Reviewed-by: Tomasz Figa <t.figa@samsung.com>
> > ---
> >
> > arch/arm/boot/dts/exynos5250.dtsi | 16 ++++++++++++++++
> > arch/arm/mach-exynos/platsmp.c | 10 +++++++---
> > 2 files changed, 23 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm/boot/dts/exynos5250.dtsi
> > b/arch/arm/boot/dts/exynos5250.dtsi index 63ca03d..1aeef98 100644
> > --- a/arch/arm/boot/dts/exynos5250.dtsi
> > +++ b/arch/arm/boot/dts/exynos5250.dtsi
> > @@ -50,6 +50,22 @@
> >
> > pinctrl3 = &pinctrl_3;
> >
> > };
> >
> > + cpus {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + cpu@0 {
> > + device_type = "cpu";
> > + compatible = "arm,cortex-a15";
> > + reg = <0>;
> > + };
> > + cpu@1 {
> > + device_type = "cpu";
> > + compatible = "arm,cortex-a15";
> > + reg = <1>;
> > + };
> > + };
> > +
> >
> > pd_gsc: gsc-power-domain@0x10044000 {
> >
> > compatible = "samsung,exynos4210-pd";
> > reg = <0x10044000 0x20>;
> >
> > diff --git a/arch/arm/mach-exynos/platsmp.c
> > b/arch/arm/mach-exynos/platsmp.c index 1a4e4e5..85ea4ca 100644
> > --- a/arch/arm/mach-exynos/platsmp.c
> > +++ b/arch/arm/mach-exynos/platsmp.c
> > @@ -180,10 +180,14 @@ static void __init exynos_smp_init_cpus(void)
> >
> > void __iomem *scu_base = scu_base_addr();
> > unsigned int i, ncores;
> >
> > - if (soc_is_exynos5250())
> > - ncores = 2;
> > - else
> > + if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9)
> >
> > ncores = scu_base ? scu_get_core_count(scu_base) : 1;
> >
> > + else
> > + /*
> > + * CPU Nodes are passed thru DT and set_cpu_possible
> > + * is set by "arm_dt_init_cpu_maps".
> > + */
> > + return;
> >
> > /* sanity check */
> > if (ncores > nr_cpu_ids) {
>
> After this patch only one cpu is coming up for me on my Arndale board..
> Revert of this one fixes the issue though (Tested over v3.11-rc7)
It is quite likely that 0 and 1 are not real MPIDR values for CPU cores on
Exynos5250, because cluster ID might not be 0, as one could expect.
This is what I found out on Exynos4210 and 4x12, when trying to add CPU
nodes in DT for them, leading in turn to a series of regressions, for which
it was to late to do all the necessary code rework to fix them for 3.12, so
I had to defer this work for next release.
Best regards,
Tomasz
WARNING: multiple messages have this Message-ID (diff)
From: t.figa@samsung.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 02/10] ARM: dts: list the CPU nodes for Exynos5250
Date: Thu, 29 Aug 2013 13:51:47 +0200 [thread overview]
Message-ID: <1440260.Z9PFmnVfM0@amdc1227> (raw)
In-Reply-To: <CAOh2x=nsQ5paiMHSH8z9drsqr7_+TvMtNefczf8QNQNbYo0y=Q@mail.gmail.com>
Hi Viresh,
On Thursday 29 of August 2013 13:45:56 Viresh Kumar wrote:
> On Tue, Jun 18, 2013 at 11:59 AM, Chander Kashyap
>
> <chander.kashyap@linaro.org> wrote:
> > Instead of having to specify the number for CPUs in Exynos5250 in
> > platsmp.c file, let the number of CPUs be determined by having this
> > information listed in Exynos5250 device tree file.
> >
> > Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> > Reviewed-by: Tomasz Figa <t.figa@samsung.com>
> > ---
> >
> > arch/arm/boot/dts/exynos5250.dtsi | 16 ++++++++++++++++
> > arch/arm/mach-exynos/platsmp.c | 10 +++++++---
> > 2 files changed, 23 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm/boot/dts/exynos5250.dtsi
> > b/arch/arm/boot/dts/exynos5250.dtsi index 63ca03d..1aeef98 100644
> > --- a/arch/arm/boot/dts/exynos5250.dtsi
> > +++ b/arch/arm/boot/dts/exynos5250.dtsi
> > @@ -50,6 +50,22 @@
> >
> > pinctrl3 = &pinctrl_3;
> >
> > };
> >
> > + cpus {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + cpu at 0 {
> > + device_type = "cpu";
> > + compatible = "arm,cortex-a15";
> > + reg = <0>;
> > + };
> > + cpu at 1 {
> > + device_type = "cpu";
> > + compatible = "arm,cortex-a15";
> > + reg = <1>;
> > + };
> > + };
> > +
> >
> > pd_gsc: gsc-power-domain at 0x10044000 {
> >
> > compatible = "samsung,exynos4210-pd";
> > reg = <0x10044000 0x20>;
> >
> > diff --git a/arch/arm/mach-exynos/platsmp.c
> > b/arch/arm/mach-exynos/platsmp.c index 1a4e4e5..85ea4ca 100644
> > --- a/arch/arm/mach-exynos/platsmp.c
> > +++ b/arch/arm/mach-exynos/platsmp.c
> > @@ -180,10 +180,14 @@ static void __init exynos_smp_init_cpus(void)
> >
> > void __iomem *scu_base = scu_base_addr();
> > unsigned int i, ncores;
> >
> > - if (soc_is_exynos5250())
> > - ncores = 2;
> > - else
> > + if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9)
> >
> > ncores = scu_base ? scu_get_core_count(scu_base) : 1;
> >
> > + else
> > + /*
> > + * CPU Nodes are passed thru DT and set_cpu_possible
> > + * is set by "arm_dt_init_cpu_maps".
> > + */
> > + return;
> >
> > /* sanity check */
> > if (ncores > nr_cpu_ids) {
>
> After this patch only one cpu is coming up for me on my Arndale board..
> Revert of this one fixes the issue though (Tested over v3.11-rc7)
It is quite likely that 0 and 1 are not real MPIDR values for CPU cores on
Exynos5250, because cluster ID might not be 0, as one could expect.
This is what I found out on Exynos4210 and 4x12, when trying to add CPU
nodes in DT for them, leading in turn to a series of regressions, for which
it was to late to do all the necessary code rework to fix them for 3.12, so
I had to defer this work for next release.
Best regards,
Tomasz
next prev parent reply other threads:[~2013-08-29 11:51 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-18 6:29 [PATCH v4 00/10] ARM: Exynos: Add Exynos5420 SoC support Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 6:29 ` [PATCH v4 01/10] ARM: dts: fork out common Exynos5 nodes Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 6:29 ` [PATCH v4 02/10] ARM: dts: list the CPU nodes for Exynos5250 Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-08-29 8:15 ` Viresh Kumar
2013-08-29 8:15 ` Viresh Kumar
2013-08-29 11:51 ` Tomasz Figa [this message]
2013-08-29 11:51 ` Tomasz Figa
2013-09-02 6:37 ` Chander Kashyap
2013-09-02 6:37 ` Chander Kashyap
2013-09-02 7:10 ` Viresh Kumar
2013-09-02 7:10 ` Viresh Kumar
2013-09-10 11:19 ` Viresh Kumar
2013-09-10 11:19 ` Viresh Kumar
2013-06-18 6:29 ` [PATCH v4 03/10] ARM: Exynos: Add support for Exynos5420 SoC Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 6:29 ` [PATCH v4 04/10] serial: samsung: select Exynos specific driver data if ARCH_EXYNOS is defined Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 6:50 ` Girish KS
2013-06-18 6:50 ` Girish KS
2013-06-18 10:14 ` Chander Kashyap
2013-06-18 10:14 ` Chander Kashyap
2013-06-18 6:29 ` [PATCH v4 05/10] ARM: Exynos: use four additional chipid bits to identify Exynos family Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 6:29 ` [PATCH v4 06/10] clk: exynos5420: register clocks using common clock framework Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 10:28 ` Kukjin Kim
2013-06-18 10:28 ` Kukjin Kim
2013-06-22 18:19 ` Mike Turquette
2013-06-22 18:19 ` Mike Turquette
2013-06-18 6:29 ` [PATCH v4 07/10] ARM: dts: Add initial device tree support for Exynos5420 Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 6:29 ` [PATCH v4 08/10] clocksource: exynos_mct: use (request/free)_irq calls for local timer registration Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 6:29 ` [PATCH v4 09/10] ARM: Exynos: add secondary CPU boot base location for Exynos5420 Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 6:29 ` [PATCH v4 10/10] ARM: Exynos: extend soft-reset support " Chander Kashyap
2013-06-18 6:29 ` Chander Kashyap
2013-06-18 9:49 ` [PATCH v4 00/10] ARM: Exynos: Add Exynos5420 SoC support Tomasz Figa
2013-06-18 9:49 ` Tomasz Figa
2013-06-18 10:13 ` Chander Kashyap
2013-06-18 10:13 ` Chander Kashyap
2013-06-18 10:26 ` Kukjin Kim
2013-06-18 10:26 ` Kukjin Kim
2013-06-18 10:32 ` Chander Kashyap
2013-06-18 10:32 ` Chander Kashyap
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=1440260.Z9PFmnVfM0@amdc1227 \
--to=t.figa@samsung.com \
--cc=chander.kashyap@linaro.org \
--cc=kgene.kim@samsung.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=s.nawrocki@samsung.com \
--cc=thomas.ab@samsung.com \
--cc=viresh.kumar@linaro.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.