diff options
author | Paul Walmsley <paul@pwsan.com> | 2010-12-21 15:30:56 -0700 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2010-12-21 20:56:50 -0700 |
commit | f0611a5c220e50dec65041b10bd2fe9484f061a6 (patch) | |
tree | f94ba2787f721a38ad57d22638c5561318d31f26 /arch/arm/mach-omap2/cm2xxx_3xxx.h | |
parent | 59fb659b065f52fcc2deed293cfbfc58f890376c (diff) | |
download | op-kernel-dev-f0611a5c220e50dec65041b10bd2fe9484f061a6.zip op-kernel-dev-f0611a5c220e50dec65041b10bd2fe9484f061a6.tar.gz |
OMAP3: PRM/CM: separate CM context save/restore; remove PRM context save/restore
The OMAP3 PRM module is in the WKUP powerdomain, which is always
powered when the chip is powered, so it shouldn't be necessary to save
and restore those PRM registers. Remove the PRM register save/restore
code, which should save several microseconds during off-mode
entry/exit, since PRM register accesses are relatively slow.
While doing so, move the CM register save/restore code into
CM-specific code. The CM module has been distinct from the PRM module
since 2430.
This patch includes some minor changes to pm34xx.c.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Tero Kristo <tero.kristo@nokia.com>
Cc: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/cm2xxx_3xxx.h')
-rw-r--r-- | arch/arm/mach-omap2/cm2xxx_3xxx.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/cm2xxx_3xxx.h b/arch/arm/mach-omap2/cm2xxx_3xxx.h index 5e57211..ce2582c1 100644 --- a/arch/arm/mach-omap2/cm2xxx_3xxx.h +++ b/arch/arm/mach-omap2/cm2xxx_3xxx.h @@ -128,4 +128,11 @@ extern u32 cm_clear_mod_reg_bits(u32 bits, s16 module, s16 idx); /* CM_IDLEST_GFX */ #define OMAP_ST_GFX_MASK (1 << 0) + +/* Function prototypes */ +# ifndef __ASSEMBLER__ +extern void omap3_cm_save_context(void); +extern void omap3_cm_restore_context(void); +# endif + #endif |