From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 07/12] ARM: hisi: add hip04 SoC support
Date: Tue, 15 Apr 2014 09:50:40 +0200 [thread overview]
Message-ID: <90100568.4DTyQlJ7Rj@wuerfel> (raw)
In-Reply-To: <CAD6h2NSJ5MvSbLw8kGkbNmy1UYXb+LDKYp9hfG1YEswFNDkOrQ@mail.gmail.com>
On Tuesday 15 April 2014 15:02:10 Haojian Zhuang wrote:
> On 8 April 2014 19:10, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Tuesday 08 April 2014 16:00:47 Haojian Zhuang wrote:
> >> diff --git a/arch/arm/mach-hisi/hisilicon.c b/arch/arm/mach-hisi/hisilicon.c
> >> index 741faf3..10a605f 100644
> >> --- a/arch/arm/mach-hisi/hisilicon.c
> >> +++ b/arch/arm/mach-hisi/hisilicon.c
> >> @@ -14,6 +14,7 @@
> >> #include <linux/clk-provider.h>
> >> #include <linux/clocksource.h>
> >> #include <linux/irqchip.h>
> >> +#include <linux/memblock.h>
> >> #include <linux/of_address.h>
> >> #include <linux/of_platform.h>
> >>
> >> @@ -88,3 +89,21 @@ DT_MACHINE_START(HI3620, "Hisilicon Hi3620 (Flattened Device Tree)")
> >> .smp = smp_ops(hi3xxx_smp_ops),
> >> .restart = hi3xxx_restart,
> >> MACHINE_END
> >> +
> >> +static const char *hip04_compat[] __initconst = {
> >> + "hisilicon,hip04-d01",
> >> + NULL,
> >> +};
> >> +
> >> +static void __init hip04_reserve(void)
> >> +{
> >> + memblock_reserve(HIP04_BOOTWRAPPER_PHYS, HIP04_BOOTWRAPPER_SIZE);
> >> +}
> >
> > Can you explain why you do this? Shouldn't that memory just be listed
> > in the DT?
>
> In current implementation, boot code of secondary CPUs are stored in the memory
> of HIP04_BOOTWRAPPER_PHYS.
>
> If the bootwrapper could be removed, we need to refresh the code on booting
> up secondary CPU.
What I meant was that you should not call memblock_reserve() from an early
function here, but instead pass correct data through the DT so you don't
have to. You can reserve the memory in DT.
If changing the boot code is an option, you might consider just using the
standard PSCI interface. That is definitely the recommended approach, although
I don't know how that interacts with MCPM
> >> +DT_MACHINE_START(HIP04, "Hisilicon HiP04 (Flattened Device Tree)")
> >> + .dt_compat = hip04_compat,
> >> +#ifdef CONFIG_MCPM
> >> + .smp_init = smp_init_ops(hip04_smp_init_ops),
> >> +#endif
> >> + .reserve = hip04_reserve,
> >> +MACHINE_END
> >
> > I think the #ifdef is not needed here, you already hide hip04_smp_init_ops
> > if CONFIG_SMP is disabled, and SMP implies MCPM based on your Kconfig.
> >
>
> If I build only ARCH_HI3xxx without ARCH_HIP04, CONFIG_MCPM won't be
> selected. Then I'll meet the build error.
I would rather see an #ifdef ARCH_HIP04 around the HIP04 code then.
You could also just use separate files for HI3xxx and HIP04, since
there is nothing shared between the two anyway.
Arnd
next prev parent reply other threads:[~2014-04-15 7:50 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-08 8:00 [PATCH v2 00/12] Add Hisilicon HiP04 SoC Haojian Zhuang
2014-04-08 8:00 ` [PATCH v2 01/12] ARM: debug: add HiP04 debug uart Haojian Zhuang
2014-04-08 8:00 ` [PATCH v2 02/12] ARM: append ARCH_MULTI_V7_LPAE Haojian Zhuang
2014-04-08 10:59 ` Arnd Bergmann
2014-04-14 6:26 ` Haojian Zhuang
2014-04-08 8:00 ` [PATCH v2 03/12] ARM: hisi: add ARCH_HISI Haojian Zhuang
2014-04-08 11:02 ` Arnd Bergmann
2014-04-08 11:13 ` Arnd Bergmann
2014-04-14 7:57 ` Haojian Zhuang
2014-04-14 9:10 ` Arnd Bergmann
2014-04-08 8:00 ` [PATCH v2 04/12] irq: gic: use mask field in GICC_IAR Haojian Zhuang
2014-04-08 8:00 ` [PATCH v2 05/12] irq: gic: extends the cpu interface to 16 Haojian Zhuang
2014-04-10 8:12 ` Marc Zyngier
2014-04-08 8:00 ` [PATCH v2 06/12] ARM: mcpm: change max clusters to 4 Haojian Zhuang
2014-04-10 9:56 ` Dave Martin
2014-04-11 2:39 ` Nicolas Pitre
2014-04-11 14:57 ` Dave Martin
2014-04-15 6:45 ` Haojian Zhuang
2014-04-15 8:15 ` Dave Martin
2014-04-15 14:48 ` Nicolas Pitre
2014-04-08 8:00 ` [PATCH v2 07/12] ARM: hisi: add hip04 SoC support Haojian Zhuang
2014-04-08 11:10 ` Arnd Bergmann
2014-04-15 7:02 ` Haojian Zhuang
2014-04-15 7:50 ` Arnd Bergmann [this message]
2014-04-10 8:50 ` Mark Rutland
2014-04-15 7:35 ` Haojian Zhuang
2014-04-10 11:21 ` Dave Martin
2014-04-08 8:00 ` [PATCH v2 08/12] ARM: dts: add hip04-d01 dts file Haojian Zhuang
2014-04-10 9:09 ` Mark Rutland
2014-04-10 10:25 ` Dave Martin
2014-04-08 8:00 ` [PATCH v2 09/12] ARM: config: append hip04_defconfig Haojian Zhuang
2014-04-08 11:18 ` Arnd Bergmann
2014-04-08 8:00 ` [PATCH v2 10/12] ARM: config: select ARCH_HISI in hi3xxx_defconfig Haojian Zhuang
2014-04-08 8:00 ` [PATCH v2 11/12] ARM: hisi: enable erratum 798181 of A15 on HiP04 Haojian Zhuang
2014-04-08 8:00 ` [PATCH v2 12/12] ARM: dts: Add PMU support in HiP04 Haojian Zhuang
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=90100568.4DTyQlJ7Rj@wuerfel \
--to=arnd@arndb.de \
--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