All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ijc@hellion.org.uk>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v1 0/4] Jetson-TK1 support for PSCI
Date: Fri, 16 Jan 2015 16:11:19 +0000	[thread overview]
Message-ID: <1421424679.19839.80.camel@hellion.org.uk> (raw)
In-Reply-To: <20150116160357.GA32698@ulmo.nvidia.com>

On Fri, 2015-01-16 at 17:03 +0100, Thierry Reding wrote:
> On Fri, Jan 16, 2015 at 10:24:03AM +0000, Ian Campbell wrote:
> > On Fri, 2015-01-16 at 11:05 +0100, Thierry Reding wrote:
> > > On Fri, Jan 16, 2015 at 09:43:22AM +0000, Ian Campbell wrote:
> > > > On Thu, 2015-01-15 at 15:55 +0100, Thierry Reding wrote:
> > > > > On Wed, Jan 14, 2015 at 08:58:41AM +0000, Ian Campbell wrote:
> > > > > > On Wed, 2015-01-14 at 08:57 +0100, Thierry Reding wrote:
> > > > > > > > I also pushed my tree to gitorious:
> > > > > > > >         https://gitorious.org/ijc/u-boot jetson-psci-v1
> > > > > > > > 
> > > > > > > > I would Ack your patch, but I don't think you've posted it and it has no
> > > > > > > > S-o-b so that would seem a bit premature/rude of me. For the same reason
> > > > > > > > I've not actually included it in the series posted (but it is in the
> > > > > > > > gitorious branch).
> > > > > > > 
> > > > > > > Feel free to take ownership of that patch. I currently don't have the
> > > > > > > time to work on this and it seems you've made good progress on it.
> > > > > > 
> > > > > > Will do. Could you offer a S-o-b for it please so I can pick it up.
> > > > > 
> > > > > Sure:
> > > > > 
> > > > > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > > > 
> > > > Thanks!
> > > > 
> > > > > > > It could probably use some cleanup because there's a bit of debug output
> > > > > > > still in there. Also...
> > > > > > > 
> > > > > > > > FWIW I think you could drop your stub versions of psci_cpu_off and
> > > > > > > > psci_cpu_suspend (assuming you don't want to implement them) since the
> > > > > > > > common code has stubs.
> > > > > > > 
> > > > > > > ... I'd think you'd need to implement these so that you can get proper
> > > > > > > suspend/resume support in the kernel. I've had to disable cpuidle (via
> > > > > > > #undef CONFIG_PM_SLEEP in arch/arm/mach-tegra/cpuidle-tegra114.c) in the
> > > > > > > kernel to make that code not powergate CPUs. Ideally I think the kernel
> > > > > > > would check that it's running with PSCI support and disable the cpuidle
> > > > > > > driver. Maybe that could be done by introducing a new cpuidle driver
> > > > > > > that checks for PSCI availability and uses it when present.
> > > > > > 
> > > > > > Hrm, I'm not sure how this all fits together, it's not a problem I've
> > > > > > noted before.
> > > > > > 
> > > > > > FWIW I think cpu_off and cpu_suspend are optional in PSCI v0.1 so an
> > > > > > initial version doesn't necessarily need to implement them (sunxi
> > > > > > doesn't for example), but as you say they do enable useful features.
> > > > > 
> > > > > I think when I tried last time, without disable the cpuidle driver
> > > > > things would hang at boot. I would expect that problem to exist for
> > > > > any board. Perhaps you've disabled PM_SLEEP in your config?
> > > > 
> > > > I don't think so:
> > > > # grep PM_SLEEP /boot/config-3.18.0-trunk-armmp-lpae 
> > > > CONFIG_PM_SLEEP=y
> > > > CONFIG_PM_SLEEP_SMP=y
> > > > CONFIG_PM_SLEEP_DEBUG=y
> > > > 
> > > > I don't see anything about cpuidle in dmesg either.
> > > > 
> > > > Did you perhaps mean CPU_IDLE rather than PM_SLEEP because:
> > > > # CONFIG_CPU_IDLE is not set
> > > 
> > > Yes, I think that would have the same effect as disable PM_SLEEP (at
> > > least regarding the powergate stuff that's conflicting with the PSCI
> > > implementation).
> > > 
> > > Note also, as mentioned in another reply, that with the PSCI support
> > > there's now two sources that can simultaneously access the powergate
> > > functionality in the PMC. We have some locking in place to make sure
> > > that concurrent accesses from within the kernel are serialized, but
> > > there's no mechanism in place to protect from concurrent accesses in
> > > secure firmware and the kernel.
> > 
> > The docs are on another machine, but I take it the PMC registers are
> > available to NS mode? Is that configurable (from S mode) perhaps?
> 
> I don't see how that's relevant. Even if it was possible to secure the
> registers against access from NS mode, there's no way we could do that
> because many drivers rely on controlling their power domain using that
> functionality.
> 
> Or perhaps I misunderstand what you're suggesting.

If the PMC registers aren't available to NS then the damage the
powergate driver can do by conflicting with PSCI is more limited i.e not
going to fry the h/w somehow.

Ian.

  reply	other threads:[~2015-01-16 16:11 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-13 19:44 [U-Boot] [PATCH v1 0/4] Jetson-TK1 support for PSCI Ian Campbell
2015-01-13 19:45 ` [U-Boot] [PATCH v1 1/4] tegra124: Add more registers to struct mc_ctlr Ian Campbell
2015-01-15 23:37   ` Stephen Warren
2015-01-16  9:32     ` Ian Campbell
2015-01-13 19:45 ` [U-Boot] [PATCH v1 2/4] virt-dt: Allow reservation of the secure region when it is in a RAM carveout Ian Campbell
2015-01-15 23:49   ` Stephen Warren
2015-01-16  9:33     ` Ian Campbell
2015-01-18 18:06     ` Ian Campbell
2015-01-13 19:45 ` [U-Boot] [PATCH v1 3/4] jetson-tk1: Add PSCI configuration options and reserve secure code Ian Campbell
2015-01-15 23:59   ` Stephen Warren
2015-01-16  8:52     ` Thierry Reding
2015-01-16  9:39       ` Ian Campbell
2015-01-19 17:17         ` Stephen Warren
2015-01-13 19:46 ` [U-Boot] [PATCH v1 4/4] tegra124: Reserve secure RAM using MC_SECURITY_CFG{0, 1}_0 Ian Campbell
2015-01-14  7:57 ` [U-Boot] [PATCH v1 0/4] Jetson-TK1 support for PSCI Thierry Reding
2015-01-14  8:58   ` Ian Campbell
2015-01-15 14:55     ` Thierry Reding
2015-01-16  9:43       ` Ian Campbell
2015-01-16 10:05         ` Thierry Reding
2015-01-16 10:24           ` Ian Campbell
2015-01-16 16:03             ` Thierry Reding
2015-01-16 16:11               ` Ian Campbell [this message]
2015-01-19  9:25                 ` Thierry Reding
2015-01-19 12:09                   ` Ian Campbell
2015-01-15 19:19   ` Mark Rutland
2015-01-16  9:12     ` Thierry Reding
2015-01-22 19:20       ` Mark Rutland
2015-01-23 10:10         ` Thierry Reding
2015-01-23 12:37           ` Mark Rutland
2015-01-23 14:08             ` Mark Rutland
2015-01-30 12:20             ` Thierry Reding
2015-02-05 11:44             ` Thierry Reding
2015-02-05 12:01               ` Ian Campbell
2015-02-05 12:37               ` Mark Rutland
2015-02-05 13:55                 ` Thierry Reding
2015-02-05 14:37                   ` Ian Campbell
2015-02-09 11:26                   ` Mark Rutland
2015-02-14 15:08                     ` Jan Kiszka
2015-02-19  9:20                       ` Ian Campbell

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=1421424679.19839.80.camel@hellion.org.uk \
    --to=ijc@hellion.org.uk \
    --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.