From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Joseph Lo <josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 1/5] ARM: tegra20: cpuidle: add powered-down state for secondary CPU
Date: Mon, 03 Dec 2012 11:18:49 -0700 [thread overview]
Message-ID: <50BCED09.4040700@wwwdotorg.org> (raw)
In-Reply-To: <1354503607-13707-2-git-send-email-josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
On 12/02/2012 08:00 PM, Joseph Lo wrote:
> The powered-down state of Tegra20 requires power gating both CPU cores.
> When the secondary CPU requests to enter powered-down state, it saves
> its own contexts and then enters WFI. The Tegra20 had a limition to
> power down both CPU cores. The secondary CPU must waits for CPU0 in
> powered-down state too. If the secondary CPU be woken up before CPU0
> entering powered-down state, then it needs to restore its CPU states
> and waits for next chance.
>
> Be aware of that, you may see the legacy power state "LP2" in the code
> which is exactly the same meaning of "CPU power down".
> arch/arm/mach-tegra/sleep-tegra20.S | 145 +++++++++++++++++++++++++++++++++
Is it actually necessary to implement those parts of the code in
assembly? It looks like it's mostly just memory read/write and a few
barriers, all of which can be coded in regular C or invoked from C.
The reason I ask is that we eventually want to remove all hard-coded
virtual memory addresses, such as TEGRA_PMC_VIRT, and it'll be a lot
easier to access memory relative to a variable base address from C than
assembly.
Now, perhaps we can solve this later; when we actually try to get this
code into drivers/cpuidle/ and remove the hard-coded virtual memory
addresses. Still, it'd be great if we didn't have to re-write the code
as much (from .S->.c) when making those changes...
next prev parent reply other threads:[~2012-12-03 18:18 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-03 3:00 [PATCH 0/5] ARM: tegra20: cpuidle: add power-down state Joseph Lo
[not found] ` <1354503607-13707-1-git-send-email-josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-03 3:00 ` [PATCH 1/5] ARM: tegra20: cpuidle: add powered-down state for secondary CPU Joseph Lo
[not found] ` <1354503607-13707-2-git-send-email-josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-03 18:18 ` Stephen Warren [this message]
[not found] ` <50BCED09.4040700-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-12-04 6:47 ` Joseph Lo
2012-12-03 18:31 ` Stephen Warren
[not found] ` <50BCF01E.4070504-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-12-04 7:05 ` Joseph Lo
[not found] ` <1354604712.30563.31.camel-yx3yKKdKkHfc7b1ADBJPm0n48jw8i0AO@public.gmane.org>
2012-12-05 18:36 ` Stephen Warren
2012-12-03 3:00 ` [PATCH 2/5] ARM: tegra20: clocks: add CPU low-power function into tegra_cpu_car_ops Joseph Lo
[not found] ` <1354503607-13707-3-git-send-email-josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-03 18:20 ` Stephen Warren
[not found] ` <50BCED6A.7000702-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-12-04 4:28 ` Joseph Lo
2012-12-04 5:12 ` Prashant Gaikwad
[not found] ` <50BD8646.6070608-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-04 5:25 ` Joseph Lo
[not found] ` <1354598707.30563.10.camel-yx3yKKdKkHfc7b1ADBJPm0n48jw8i0AO@public.gmane.org>
2012-12-05 18:34 ` Stephen Warren
2012-12-03 3:00 ` [PATCH 3/5] ARM: tegra20: flowctrl: add support for cpu_suspend_enter/exit Joseph Lo
2012-12-03 3:00 ` [PATCH 4/5] ARM: tegra20: cpuidle: add powered-down state for CPU0 Joseph Lo
[not found] ` <1354503607-13707-5-git-send-email-josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-03 18:40 ` Stephen Warren
[not found] ` <50BCF226.1080501-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-12-04 7:25 ` Joseph Lo
2012-12-03 3:00 ` [PATCH 5/5] ARM: tegra20: cpuidle: apply coupled cpuidle for powered-down mode Joseph Lo
[not found] ` <1354503607-13707-6-git-send-email-josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-03 18:52 ` Stephen Warren
[not found] ` <50BCF4F8.60606-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-12-04 10:20 ` Joseph Lo
2012-12-04 12:41 ` Peter De Schrijver
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=50BCED09.4040700@wwwdotorg.org \
--to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
--cc=josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.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;
as well as URLs for NNTP newsgroup(s).