diff options
author | Roger Hsieh <rhsieh@nvidia.com> | 2011-07-11 14:42:40 +0800 |
---|---|---|
committer | Niket Sirsi <nsirsi@nvidia.com> | 2011-07-14 13:12:52 -0700 |
commit | 7cf8c4eb8e0e38c1e75db9da53b0b3163230275b (patch) | |
tree | af74081f20039a605ea4cae7da40af747d15f6fd /arch | |
parent | f291523b2976c118ed51bda35b6d9228272df994 (diff) |
arm: tegra: correct 3D power gate WAR.
3D power gate should be always disabled to keep the power. Set T20
enabled by default.
Bug 843271
Change-Id: I17745e37436414b3d5f905eb01e347743a012830
Reviewed-on: http://git-master/r/40342
Reviewed-by: Ching Kuang (Roger) Hsieh <rhsieh@nvidia.com>
Tested-by: Ching Kuang (Roger) Hsieh <rhsieh@nvidia.com>
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Karan Jhavar <kjhavar@nvidia.com>
Reviewed-by: ChihJen Hsu <chhsu@nvidia.com>
Reviewed-by: Yu-Fong (Foster) Cho <ycho@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'arch')
-rwxr-xr-x[-rw-r--r--] | arch/arm/mach-tegra/Kconfig | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | arch/arm/mach-tegra/common.c | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 97419f957321..ea0232944feb 100644..100755 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -14,6 +14,7 @@ config ARCH_TEGRA_2x_SOC select USB_ARCH_HAS_EHCI if USB_SUPPORT select USB_ULPI if USB_SUPPORT select USB_ULPI_VIEWPORT if USB_SUPPORT + select DISABLE_3D_POWERGATING help Support for NVIDIA Tegra AP20 and T20 processors, based on the ARM CortexA9MP CPU and the ARM PL310 L2 cache controller @@ -140,3 +141,10 @@ config TEGRA_MC_PROFILE When enabled, provides a mechanism to perform statistical sampling of the memory controller usage on a client-by-client basis, and report the log through sysfs. + +config DISABLE_3D_POWERGATING + bool "Disable 3D power gate" + depends on ARCH_TEGRA_2x_SOC + help + This is for silicon errata of 3D power gating. By setting this + config, 3D power will never be gated. diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c index 3d7c047221f8..08378e96f686 100644..100755 --- a/arch/arm/mach-tegra/common.c +++ b/arch/arm/mach-tegra/common.c @@ -155,7 +155,9 @@ void __init tegra_init_cache(void) static void __init tegra_init_power(void) { tegra_powergate_power_off(TEGRA_POWERGATE_MPE); +#if !CONFIG_DISABLE_3D_POWERGATING tegra_powergate_power_off(TEGRA_POWERGATE_3D); +#endif tegra_powergate_power_off(TEGRA_POWERGATE_PCIE); } |