History log of /arch/arm/mach-pxa/sleep.S
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a9503d2185bbc28e498c435a07f24986c48b5cbe 21-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: pxa: move cpu_suspend into C code

We don't need a veneer for cpu_suspend, it can be called directly from
C code now. Move it into the PXA CPU suspend functions, along with
the accumulator register saving/restoring.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
e8856a8797e76e6883ae81f8f9ecbb231cc535df 13-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: convert cpu_suspend() to a normal function

cpu_suspend() has a weird calling method which makes it only possible to
call from assembly code: it returns with a modified stack pointer to
finish the suspend, but on resume, it 'returns' via a provided pointer.

We can make cpu_suspend() appear to be a normal function merely by
swapping the resume pointer argument and the link register.

Do so, and update all callers to take account of this more traditional
behaviour.

Acked-by: Frank Hofmann <frank.hofmann@tomtom.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
dbc125168fd7dda4ffb24a29548746c7bd3b3d87 13-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: move sa1100 to use proper suspend func arg0

In the previous commit, we introduced an official way to supply an
argument to the suspend function. Convert the sa1100 suspend code
to use this method.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
4f5ad99bb5331c571371f94ff4423cbb366c460b 06-Feb-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: convert PXA to generic suspend/resume support

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
404a02cbd2ae8bf256a2fa1169bdfe86bb5ebb34 06-Jan-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'devel-stable' into devel

Conflicts:
arch/arm/mach-pxa/clock.c
arch/arm/mach-pxa/clock.h
24c78557741395e038e83f25367cf2bfd7f582b8 29-Dec-2010 Aric D. Blumer <aric@sdgsystems.com> ARM: pxa: fix page table corruption on resume

Before this patch, the following error would sometimes occur after a
resume on pxa3xx:

/path/to/mm/memory.c:144: bad pmd 8040542e.

The problem was that a temporary page table mapping was being improperly
restored.

The PXA3xx resume code creates a temporary mapping of resume_turn_on_mmu
to avoid a prefetch abort. The pxa3xx_resume_after_mmu code requires
that the r1 register holding the address of this mapping not be
modified, however, resume_turn_on_mmu does modify it. It is mostly
correct in that r1 receives the base table address, but it may also
get other bits in 13:0. This results in pxa3xx_resume_after_mmu
restoring the original mapping to the wrong place, corrupting memory
and leaving the temporary mapping in place.

Signed-off-by: Matt Reimer <mreimer@sdgsystems.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
/arch/arm/mach-pxa/sleep.S
ad68bb9f7a3cd47396635a5e3895215af57579da 03-Nov-2010 Marek Vasut <marek.vasut@gmail.com> ARM: pxa: Access SMEMC via virtual addresses

This is important because on PXA3xx, the physical mapping of SMEMC registers
differs from the one on PXA2xx. In order to get PCMCIA working on both PXA2xx
and PXA320, the PCMCIA driver was adjusted accordingly as well.

Also, various places in the kernel had to be patched to use
__raw_read/__raw_write.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
/arch/arm/mach-pxa/sleep.S
8973860a22fd76ffca4db026acc2c9dab1ef1747 04-Jul-2010 Christoph Egger <siccegge@cs.fau.de> [ARM] pxa: removing dead XSCALE_CACHE_ERRATA

XSCALE_CACHE_ERRATA doesn't exist in Kconfig, therefore removing all
references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Cc: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
/arch/arm/mach-pxa/sleep.S
5bf3df3f00f507119a26ba0780aa8799e741615c 20-Jan-2009 Eric Miao <eric.miao@marvell.com> [ARM] pxa: separate definitions from pxa-regs.h and remove it finally

The remaining registers are separated into:

- <mach/regs-ost.h>
- <mach/regs-rtc.h>
- <mach/regs-intc.h>

and then we can remove pxa-regs.h completely. Instead of #include this
file, let's:

1. include the specific <mach/regs-*.h> with care (if that's absolutely
necessary)

2. define the registers in the driver, make cleanly defined API to expose
the register access to external with sufficient reason

Signed-off-by: Eric Miao <eric.miao@marvell.com>
/arch/arm/mach-pxa/sleep.S
a09e64fbc0094e3073dbb09c3b4bfe4ab669244b 05-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach

This just leaves include/asm-arm/plat-* to deal with.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
be509729356b7433f73df2b9a966674a437fbbc1 04-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead

Remove includes of asm/hardware.h in addition to asm/arch/hardware.h.
Then, since asm/hardware.h only exists to include asm/arch/hardware.h,
update everything to directly include asm/arch/hardware.h and remove
asm/hardware.h.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
c4d1fb627ff307256d792280efcb09e1235affea 29-Jan-2008 eric miao <eric.miao@marvell.com> [ARM] pxa: add preliminary suspend/resume code for pxa3xx

1. clear RDH bit after resuming back from D3, otherwise, the multi function
pins will retain the low power state

2. save/restore essential system registers

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
533462fba545d271e087c3c632cf62ff04808e40 04-Jan-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] pxa: omit PXA25x or PXA27x standby/sleep code as appropriate

There's no point building standby/sleep code for processors which
aren't configured.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
8785a8fbd5a1624dbabd7c782524450e902b722e 14-Jan-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] pxa: move memory controller registers into pxa2xx-regs.h

PXA3 has a different memory controller from PXA2 platforms. Avoid
clashing definitions by moving the PXA2 definitions to pxa2xx-regs.h

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
3b1904d00a54d4d839a4c12dbc98a14dc4efdc95 11-Jan-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] pxa: don't rely on r2 being preserved over a function call

r2 is not guaranteed to be preserved over a function call, so relying
on it to store the link register over the call to sleep_phys_sp() is
unreliable. Store the link register on the stack instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
b750a09385d7c464113ae8915e63541a163fbac8 18-Jul-2007 Eric Miao <eric.y.miao@gmail.com> [ARM] 4489/1: pxa: split pxa_cpu_suspend to processor specific ones

1. split pxa_cpu_suspend to pxa25x_cpu_suspend and pxa27x_cpu_suspend
and make pxa25x_cpu_pm_enter() and pxa27x_cpu_pm_enter() to invoke
the corresponding _suspend functions, thus remove all those ugly
#ifdef .. #endif out of sleep.S

2. move the declarations of those suspend functions to pm.h

note: this is not a clean enough solution until all the pxa25x and
pxa27x specific part is further removed out of sleep.S, sleep.S is
supposed to contain generic code only

Signed-off-by: eric miao <eric.y.miao@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
6ab3d5624e172c553004ecc862bfeac16d9d68b7 30-Jun-2006 Jörn Engel <joern@wohnheim.fh-wedel.de> Remove obsolete #include <linux/config.h>

Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
/arch/arm/mach-pxa/sleep.S
801194e3bcf7cde163b23c6279c559e69cb4ca57 25-Jun-2006 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ

DEFAULT_FIQ was entirely unused. MODE_* are just redefinitions
of *_MODE. Use *_MODE instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
80a18573cea2e6d8e95abe4d42bfc5f97761999a 28-Oct-2005 Todd Poynor <tpoynor@mvista.com> [ARM] 2787/2: PXA27x low power modes support

Patch from Todd Poynor

Add symbols for PXA2xx PWRMODE register M field that selects low-power
mode, replace unadorned constants. Honor power mode parameter of
pxa_cpu_suspend(mode), no longer force to 3 (sleep). Full Deep Sleep
low-power mode support for PXA27x is pending generic PM interfaces to
select more than 2 suspend-to-RAM-style power modes, but this is
expected soon. This can be hardcoded in the meantime by replacing the
pxa_cpu_suspend() parameter value. From David Burrage and Todd Poynor.
Try #2 removes one of the register copies and moves the code to save the
pxa_cpu_suspend parameter to immediately surround the call that requires
the parameter value be preserved.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
/arch/arm/mach-pxa/sleep.S
41130d37a449dbff3593c8585a102d5e9173eea7 26-Apr-2005 Jeff Lackey <jlackey@net.rmk.(none)> [PATCH] ARM: 2650/1: PXA27x sleep - workaround Errata 39 & 50 (Patch 2667)

Patch from Jeff Lackey

This patch updates arch/arm/mach-pxa/sleep.S to support
the PXA270 CPU. It works around Errata 39 & 50 from the
Intel(R) PXA27x Processor Family Specification Update.

Signed-off-by: Jeff Lackey
Signed-off-by: Russell King
/arch/arm/mach-pxa/sleep.S
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 17-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org> Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
/arch/arm/mach-pxa/sleep.S