diff options
author | tkasivajhula <tkasivajhula@nvidia.com> | 2010-06-04 19:34:13 -0700 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2010-06-07 11:14:06 -0700 |
commit | 5ce1e0a1a36b2034708366a47a88fce38ef4a252 (patch) | |
tree | 39c7cba5ef783e91bab0d70ddbfb15a6a3d982f5 /arch | |
parent | cdbce62ac97f228bcd6e4bb37d24d4de6abc0d3f (diff) |
tegra power: Create a new power state called SimpleSuspend
This new power state corresponds to doing an LP2 like operation
at the end of Linux's suspend/resume sequence. When LP1/LP0
are working, we can replace SimpleSuspend with the real
Suspend/DeepSleep operations. The SimpleSuspend state
can also be used as a "sanity" state to assist in
debugging power issues.
Change-Id: Id7d2df0b263c0e2dc2b6bfe1e2f647a9c0d2f747
Reviewed-on: http://git-master/r/2160
Tested-by: Trivikram Kasivajhula <tkasivajhula@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/include/nvodm_query.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-tegra/odm_kit/query/whistler/nvodm_query.c | 3 |
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/include/nvodm_query.h b/arch/arm/mach-tegra/include/nvodm_query.h index a7656cfc7cae..c4939d18148f 100644 --- a/arch/arm/mach-tegra/include/nvodm_query.h +++ b/arch/arm/mach-tegra/include/nvodm_query.h @@ -860,6 +860,10 @@ typedef enum /// is gated, plus DDR is in self-refresh. Wake up by any enabled interrupt. NvOdmSocPowerState_Suspend, + /// State where the CPU is halted by the flow controller and + /// power is gated. Wake up by any enabled interrupt + NvOdmSocPowerState_SimpleSuspend, + /// Specifies to disable the SOC power state. NvOdmSocPowerState_Active, diff --git a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c index 454a53c82bd6..750d422c2f5a 100644 --- a/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c +++ b/arch/arm/mach-tegra/odm_kit/query/harmony/nvodm_query.c @@ -704,8 +704,7 @@ const NvOdmSocPowerStateInfo* NvOdmQueryLowestSocPowerState(void) LPStateSelection = NV_DRF_VAL(TEGRA_DEVKIT, BCT_CUSTOPT, LPSTATE, LPStateSelection); } // Lowest power state controlled by the flashed custom option. - PowerStateInfo.LowestPowerState = ((LPStateSelection != TEGRA_DEVKIT_BCT_CUSTOPT_0_LPSTATE_LP1)? - NvOdmSocPowerState_Suspend : NvOdmSocPowerState_DeepSleep); + PowerStateInfo.LowestPowerState = NvOdmSocPowerState_SimpleSuspend; pPowerStateInfo = (const NvOdmSocPowerStateInfo*) &PowerStateInfo; } return (pPowerStateInfo); diff --git a/arch/arm/mach-tegra/odm_kit/query/whistler/nvodm_query.c b/arch/arm/mach-tegra/odm_kit/query/whistler/nvodm_query.c index d17f12b59559..9c3ea74ee67f 100644 --- a/arch/arm/mach-tegra/odm_kit/query/whistler/nvodm_query.c +++ b/arch/arm/mach-tegra/odm_kit/query/whistler/nvodm_query.c @@ -1213,8 +1213,7 @@ const NvOdmSocPowerStateInfo* NvOdmQueryLowestSocPowerState(void) LPStateSelection = NV_DRF_VAL(TEGRA_DEVKIT, BCT_CUSTOPT, LPSTATE, LPStateSelection); } // Lowest power state controlled by the flashed custom option. - PowerStateInfo.LowestPowerState = ((LPStateSelection != TEGRA_DEVKIT_BCT_CUSTOPT_0_LPSTATE_LP1)? - NvOdmSocPowerState_Suspend : NvOdmSocPowerState_DeepSleep); + PowerStateInfo.LowestPowerState = NvOdmSocPowerState_SimpleSuspend; pPowerStateInfo = (const NvOdmSocPowerStateInfo*) &PowerStateInfo; } return (pPowerStateInfo); |