public inbox for linux-tegra@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Colin Cross <ccross@android.com>
Cc: Will Deacon <will.deacon@arm.com>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Linus Walleij <linus.walleij@stericsson.com>,
	konkers@android.com, Tony Lindgren <tony@atomide.com>,
	linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org,
	olof@lixom.net, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 04/28] ARM: mm: cache-l2x0: Add support for re-enabling l2x0
Date: Fri, 4 Feb 2011 23:43:31 +0000	[thread overview]
Message-ID: <20110204234331.GF8732@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <AANLkTi=cTXmQFm_s5OL2pGyyaFv5UR_f9MV=S5Ajx0tu@mail.gmail.com>

On Fri, Feb 04, 2011 at 05:32:26PM -0600, Colin Cross wrote:
> On Tue, Jan 25, 2011 at 12:39 PM, Will Deacon <will.deacon@arm.com> wrote:
> > Well if you set the priority fields in the notifier blocks correctly
> > then you can just return NOTIFY_STOP when you've saved/restored as much
> > as you want. This assumes of course that you can identify which power
> > mode you're entering/leaving and that each one is `deeper' than the previous.
> 
> I doubt its possible to create an order that will work for all
> architectures, and returning NOTIFY_STOP would require the decision on
> when to finish to be made by the notifier block instead of the
> platform code.
> 
> Tegra has three possible idle modes:
> 
> 1.  WFI - nothing reset
> 2.  CPU, TWD, L1, GIC lost, L2 needs to be disabled but not reset
> 3.  CPU, TWD, L1, GIC, and L2 lost

(2) and (3) don't sound like per-cpu modes but system modes.  If you're
having to disable L2, then your other CPU can't be active.

> CPU and L1 are already handled by the platform-specific suspend code.
> TWD is handled by the clockevents broadcast notifiers.  That leaves L2
> and GIC.

GIC can be handled in just the same way - upon a CPU idling and it
being decided that the CPU should enter low power mode, the idle states
are entered which does what's required with TWD, L1, VFP, Neon, etc.
We just need the GIC CPU interface included in there.

When both CPUs are idled, then the L2 comes into play, and then modes
(2) and (3) become possible and this is where you start doing the extra
stuff.

Note that you have to do it that way anyway, because you can't save
the state of the other CPU's GIC without doing an IPI call, which
could kick it out of its idle mode.

  reply	other threads:[~2011-02-04 23:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1295834493-5019-1-git-send-email-ccross@android.com>
     [not found] ` <1295834493-5019-5-git-send-email-ccross@android.com>
     [not found]   ` <1295968464.10109.264.camel@e102109-lin.cambridge.arm.com>
     [not found]     ` <20110125154133.GB17280@n2100.arm.linux.org.uk>
     [not found]       ` <1295979242.10109.308.camel@e102109-lin.cambridge.arm.com>
     [not found]         ` <2f97ec8a084e590220e1548fc927b60e@mail.gmail.com>
     [not found]           ` <-8932138696981683633@unknownmsgid>
2011-02-04 23:32             ` [PATCH v2 04/28] ARM: mm: cache-l2x0: Add support for re-enabling l2x0 Colin Cross
2011-02-04 23:43               ` Russell King - ARM Linux [this message]
     [not found]                 ` <20110204234331.GF8732-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-02-05  1:44                   ` Colin Cross
     [not found]                     ` <AANLkTi=fHnivHXHnYrQvdP6JWbEA3t1X3DuBxj5gN3H0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-05  7:51                       ` Santosh Shilimkar
     [not found]                         ` <1bebe4b5c8590059b70a146d5486fa6a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-05  9:47                           ` Russell King - ARM Linux
2011-02-05 10:41                             ` [PATCH v2 04/28] ARM: mm: cache-l2x0: Add support forre-enabling l2x0 Santosh Shilimkar
2011-02-05 16:36                               ` Colin Cross
     [not found]                                 ` <AANLkTik_r4k_5o+F47vRbGPcWLwfgHgWqhym49XfhBZ9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-07  6:13                                   ` Santosh Shilimkar

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=20110204234331.GF8732@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=Catalin.Marinas@arm.com \
    --cc=ccross@android.com \
    --cc=konkers@android.com \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=santosh.shilimkar@ti.com \
    --cc=tony@atomide.com \
    --cc=will.deacon@arm.com \
    /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