From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [linux-pm] [RFC PATCH v4] ARM hibernation/suspend-to-disk support
Date: Thu, 9 Jun 2011 18:53:13 +0100 [thread overview]
Message-ID: <20110609175313.GG24424@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20110609171255.GD24424@n2100.arm.linux.org.uk>
On Thu, Jun 09, 2011 at 06:12:55PM +0100, Russell King - ARM Linux wrote:
> > 3. Avoid direct write to AUXCTRL in generic suspend code.
>
> This is the only problematical one that I can see. We need to restore
> this on systems running in secure mode. What we could do is rather than
> writing to the register, read it first and compare its value with what
> was saved to see whether we need to write it.
>
> Then, if platforms run in non-secure mode, they are responsible for
> restoring that register back to its pre-suspend value before their
> assembly calls cpu_resume().
And here's a patch which does that:
8<-----------
From: Russell King <rmk+kernel@arm.linux.org.uk>
ARM: Avoid writing to auxctrl register unless it needs to be updated
As the auxiliary control register is not writable in non-secure mode
such as on OMAP, we must avoid writing the register when resuming in
non-secure mode. Avoid this by moving the responsibility to the
SoC code in this case to ensure that the auxiliary control register
is restored before cpu_resume() is called.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
--
arch/arm/mm/proc-v7.S | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index 3c38678..fa1e6d5 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -237,7 +237,9 @@ ENTRY(cpu_v7_do_resume)
mcr p15, 0, r7, c2, c0, 0 @ TTB 0
mcr p15, 0, r8, c2, c0, 1 @ TTB 1
mcr p15, 0, ip, c2, c0, 2 @ TTB control register
- mcr p15, 0, r10, c1, c0, 1 @ Auxiliary control register
+ mrc p15, 0, r4, c1, c0, 1 @ Read auxiliary control register
+ teq r4, r10
+ mcrne p15, 0, r10, c1, c0, 1 @ Auxiliary control register
mcr p15, 0, r11, c1, c0, 2 @ Co-processor access control
ldr r4, =PRRR @ PRRR
ldr r5, =NMRR @ NMRR
next prev parent reply other threads:[~2011-06-09 17:53 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 16:48 [RFC PATCH v4] ARM hibernation/suspend-to-disk support Frank Hofmann
2011-06-07 21:48 ` [linux-pm] " Rafael J. Wysocki
2011-06-09 15:30 ` Frank Hofmann
2011-06-09 15:40 ` Russell King - ARM Linux
2011-06-09 16:26 ` Frank Hofmann
2011-06-09 16:26 ` [linux-pm] " Frank Hofmann
2011-06-09 16:35 ` Santosh Shilimkar
2011-06-09 17:07 ` Frank Hofmann
2011-06-09 17:07 ` [linux-pm] " Frank Hofmann
2011-06-09 17:10 ` Santosh Shilimkar
2011-06-09 17:10 ` [linux-pm] " Santosh Shilimkar
2011-06-09 17:14 ` Russell King - ARM Linux
2011-06-09 17:14 ` [linux-pm] " Russell King - ARM Linux
2011-06-09 16:35 ` Santosh Shilimkar
2011-06-09 16:27 ` Santosh Shilimkar
2011-06-09 16:27 ` [linux-pm] " Santosh Shilimkar
2011-06-09 16:40 ` Russell King - ARM Linux
2011-06-09 16:53 ` Santosh Shilimkar
2011-06-09 17:12 ` Russell King - ARM Linux
2011-06-09 17:21 ` Santosh Shilimkar
2011-06-09 17:21 ` [linux-pm] " Santosh Shilimkar
2011-06-09 17:53 ` Russell King - ARM Linux [this message]
2011-06-21 10:11 ` Russell King - ARM Linux
2011-06-21 10:11 ` [linux-pm] " Russell King - ARM Linux
2011-06-09 17:53 ` Russell King - ARM Linux
2011-06-10 12:22 ` Frank Hofmann
2011-06-10 12:22 ` [linux-pm] " Frank Hofmann
2011-06-10 13:43 ` Russell King - ARM Linux
2011-06-10 13:43 ` [linux-pm] " Russell King - ARM Linux
2011-06-10 13:47 ` Frank Hofmann
2011-06-10 14:02 ` Russell King - ARM Linux
2011-06-10 14:54 ` Frank Hofmann
2011-06-10 14:54 ` Frank Hofmann
2011-06-10 14:02 ` Russell King - ARM Linux
2011-06-10 13:47 ` Frank Hofmann
2011-06-09 17:12 ` Russell King - ARM Linux
2011-06-09 16:53 ` Santosh Shilimkar
2011-06-09 16:40 ` Russell King - ARM Linux
2011-06-09 16:44 ` Frank Hofmann
2011-06-09 16:44 ` [linux-pm] " Frank Hofmann
2011-06-09 16:56 ` Santosh Shilimkar
2011-06-09 16:56 ` Santosh Shilimkar
2011-06-09 15:40 ` Russell King - ARM Linux
2011-06-09 15:30 ` Frank Hofmann
2011-06-07 21:48 ` Rafael J. Wysocki
2011-06-09 16:50 ` Russell King - ARM Linux
2011-06-09 16:53 ` Frank Hofmann
2011-06-09 16:53 ` Frank Hofmann
2011-06-09 16:50 ` Russell King - ARM Linux
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=20110609175313.GG24424@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--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 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.