From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] powerpc/fsl: support low power boot for e500 and later
Date: Wed, 12 Aug 2015 00:59:15 -0500 [thread overview]
Message-ID: <1439359155.4099.77.camel@freescale.com> (raw)
In-Reply-To: <SN1PR0301MB161680FDC05EDEA5267DDAF69D7E0@SN1PR0301MB1616.namprd03.prod.outlook.com>
On Wed, 2015-08-12 at 00:50 -0500, Wang Dongsheng-B40534 wrote:
> Hi Scott,
>
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, August 12, 2015 1:18 PM
> > To: Wang Dongsheng-B40534
> > Cc: Sun York-R58495; u-boot at lists.denx.de
> > Subject: Re: [PATCH v2] powerpc/fsl: support low power boot for e500 and
> > later
> >
> > On Wed, 2015-08-12 at 00:15 -0500, Wang Dongsheng-B40534 wrote:
> > > Hi Scott,
> > >
> > > > -----Original Message-----
> > > > From: Wood Scott-B07421
> > > > Sent: Wednesday, August 12, 2015 12:55 PM
> > > > To: Wang Dongsheng-B40534
> > > > Cc: Sun York-R58495; u-boot at lists.denx.de
> > > > Subject: Re: [PATCH v2] powerpc/fsl: support low power boot for e500
> > > > and later
> > > >
> > > > On Tue, 2015-08-11 at 15:15 +0800, Dongsheng Wang wrote:
> > > > > From: Wang Dongsheng <dongsheng.wang@freescale.com>
> > > > >
> > > > > low power boot means u-boot will put non-boot cpus into a low
> > > > > power status. Non-boot cpus don't need any more spin wait. e500,
> > > > > e500v2 will going to DOZE status. e500mc, e5500, e6500 will going
> > > > > to PW10
> > state.
> > > > >
> > > > > e500/e500v2 will be kicked up by MPIC-IPI, e500mc later will be
> > > > > kicked up by doorbell.
> > > > >
> > > > > This feature tested on:
> > > > > POWER UP TEST:
> > > > > P1022DS(e500v2),96k times.
> > > > > P4080(e500mc), 110k times.
> > > > > T1024(e5500), 83k times.
> > > > > T4240(e6500), 150k times.
> > > > >
> > > > > CPU HOTPLUG TEST:
> > > > > P1022DS(e500v2),1.4 million times.
> > > > > P4080(e500mc), 1.8 million times.
> > > > > T1024(e5500), 1.3 million times.
> > > > > T4240(e6500), 1.1 million times.
> > > > >
> > > > > Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
> > > > > ---
> > > > > *V2*
> > > > > Add:
> > > > > Add Config option to select Boot Method, Boot by SPIN TABLE or
> > > > > Boot By
> > > > > LOW POWER.
> > > > > The default boot method is SPIN TABLE.
> > > > >
> > > > > Modify:
> > > > > Rebase code to compatible with spin.
> > > > >
> > > > > Delete:
> > > > > Delete e6500rev2 PW20 state.
> > > > >
> > > > > The default boot method SPIN TABLE has tested on last kernel. The
> > > > > low power boot method need add a kernel patch to support. Now PPC
> > > > > smp cpu boot, cpu hotplug, sleep, and deep sleep patches is
> > > > > rebasing for upstream, after ppc smp cpu boot upstreamed i will
> > > > > commit a kernel patch to complete support low power boot method.
> > > > >
> > > > > diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig
> > > > > b/arch/powerpc/cpu/mpc85xx/Kconfig
> > > > > index 3e8d0b1..9c81d97 100644
> > > > > --- a/arch/powerpc/cpu/mpc85xx/Kconfig
> > > > > +++ b/arch/powerpc/cpu/mpc85xx/Kconfig
> > > > > @@ -199,3 +199,26 @@ source "board/xes/xpedite550x/Kconfig"
> > > > > source "board/Arcturus/ucp1020/Kconfig"
> > > > >
> > > > > endmenu
> > > > > +
> > > > > +menu "mpc85xx CPU Boot Method"
> > > > > + depends on MPC85xx
> > > > > +
> > > > > +choice
> > > > > + prompt "Boot select"
> > > > > + default BOOT_BY_SPIN
> > > > > +
> > > > > +config BOOT_BY_SPIN
> > > > > + bool "Spin boot cpus"
> > > > > + help
> > > > > + Non-boot cpus will be falled in a spin state when U-boot
> > > > > + started up.
> > > > > +
> > > > > +config BOOT_BY_LOW_POWER
> > > > > + bool "Low power boot cpus"
> > > > > + help
> > > > > + Non-boot cpus will be falled in a low power state when U-
> > > > > boot
> > > > > + started up.
> > > > > +
> > > > > +endchoice
> > > >
> > > > I was going to say that this could be made dynamically configurable
> > > > by always putting the cores into low power mode, and then waking
> > > > them at bootm time if the spin table is chosen in the environment --
> > > > but if we can do that, we can also just leave the secondary cpus in
> > > > holdoff until bootm.
> > > >
> > > > At that point, we might as well just always use the spin table
> > > > because the time from bootm to the OS releasing the secondaries
> > > > should be
> > small.
> > > >
> > > Yes, if all of cpus will enable in kernel. But in some cases we do not
> > > enable all the CPU in the kernel, so we need to push them to low power
> > > state.
> >
> > If you don't plan to release a CPU in the OS, tell U-Boot to keep it
> > disabled.
>
> Such as bootargs "maxcpus", as your said if we tell u-boot to keep it
> disabled,
> I think that is a new work for spin table, that is your talked hold off
> state when
> u-boot boot up?
The spin table code itself shouldn't be affected much, but plat_mp_up() would
be called later (during bootm), and should check coredisr1 to skip any CPUs
that have been disabled by the user.
> You means drop this patch? And keep secondary cpus in hold off state when u-
> boot
> Boot up and if needed release them in bootm?
Yes.
-Scott
prev parent reply other threads:[~2015-08-12 5:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-11 7:15 [U-Boot] [PATCH v2] powerpc/fsl: support low power boot for e500 and later Dongsheng Wang
2015-08-12 4:54 ` Scott Wood
2015-08-12 5:15 ` Wang Dongsheng
2015-08-12 5:17 ` Scott Wood
2015-08-12 5:50 ` Wang Dongsheng
2015-08-12 5:59 ` Scott Wood [this message]
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=1439359155.4099.77.camel@freescale.com \
--to=scottwood@freescale.com \
--cc=u-boot@lists.denx.de \
/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.