From: Thierry Reding Date: Fri, 13 Dec 2013 16:31:04 +0000 (+0100) Subject: ARM: tegra: Special-case the 3D clamps on Tegra124 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=c537376cbbbfea2b741b39ad37d5b44104b66e56;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Stephen Warren --- 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 @@ #define PWRGATE_STATUS 0x38 +#define GPU_RG_CNTRL 0x2d4 + static int tegra_num_powerdomains; static int tegra_num_cpu_domains; static const u8 *tegra_cpu_domains; @@ -136,6 +138,17 @@ int tegra_powergate_remove_clamping(int id) if (id < 0 || id >= tegra_num_powerdomains) return -EINVAL; + /* + * The Tegra124 GPU has a separate register (with different semantics) + * to remove clamps. + */ + if (tegra_chip_id == TEGRA124) { + if (id == TEGRA_POWERGATE_3D) { + pmc_write(0, GPU_RG_CNTRL); + return 0; + } + } + /* * Tegra 2 has a bug where PCIE and VDE clamping masks are * swapped relatively to the partition ids