diff options
| author | Thierry Reding <thierry.reding@gmail.com> | 2013-12-13 11:31:04 -0500 |
|---|---|---|
| committer | Stephen Warren <swarren@nvidia.com> | 2013-12-16 16:02:51 -0500 |
| commit | c537376cbbbfea2b741b39ad37d5b44104b66e56 (patch) | |
| tree | f6e783e8c50ba309066cb4bda9d72b6894848548 | |
| parent | 9a716579660aa87a4ab4b4d1cac0686fba3707ba (diff) | |
ARM: tegra: Special-case the 3D clamps on Tegra124
A separate register is used to remove the clamps for the GPU on
Tegra124. In order to be able to use the same API, special-case
this particular partition.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
| -rw-r--r-- | arch/arm/mach-tegra/powergate.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/powergate.c b/arch/arm/mach-tegra/powergate.c index a8ac634eda77..0026fb6c984b 100644 --- a/arch/arm/mach-tegra/powergate.c +++ b/arch/arm/mach-tegra/powergate.c | |||
| @@ -41,6 +41,8 @@ | |||
| 41 | 41 | ||
| 42 | #define PWRGATE_STATUS 0x38 | 42 | #define PWRGATE_STATUS 0x38 |
| 43 | 43 | ||
| 44 | #define GPU_RG_CNTRL 0x2d4 | ||
| 45 | |||
| 44 | static int tegra_num_powerdomains; | 46 | static int tegra_num_powerdomains; |
| 45 | static int tegra_num_cpu_domains; | 47 | static int tegra_num_cpu_domains; |
| 46 | static const u8 *tegra_cpu_domains; | 48 | static const u8 *tegra_cpu_domains; |
| @@ -137,6 +139,17 @@ int tegra_powergate_remove_clamping(int id) | |||
| 137 | return -EINVAL; | 139 | return -EINVAL; |
| 138 | 140 | ||
| 139 | /* | 141 | /* |
| 142 | * The Tegra124 GPU has a separate register (with different semantics) | ||
| 143 | * to remove clamps. | ||
| 144 | */ | ||
| 145 | if (tegra_chip_id == TEGRA124) { | ||
| 146 | if (id == TEGRA_POWERGATE_3D) { | ||
| 147 | pmc_write(0, GPU_RG_CNTRL); | ||
| 148 | return 0; | ||
| 149 | } | ||
| 150 | } | ||
| 151 | |||
| 152 | /* | ||
| 140 | * Tegra 2 has a bug where PCIE and VDE clamping masks are | 153 | * Tegra 2 has a bug where PCIE and VDE clamping masks are |
| 141 | * swapped relatively to the partition ids | 154 | * swapped relatively to the partition ids |
| 142 | */ | 155 | */ |
