diff options
author | Bibek Basu <bbasu@nvidia.com> | 2014-10-27 14:04:43 +0530 |
---|---|---|
committer | Matthew Pedro <mapedro@nvidia.com> | 2014-12-10 11:03:04 -0800 |
commit | 738949c0fd8c1c0a13f814f87d3c65753936d0c1 (patch) | |
tree | 5b24288b8ee2474256afd94d713172007263fb98 /arch | |
parent | 38dd845143a65b22a1ddce29d9c1e5c090767c30 (diff) |
arm: tegra12: enable gpu edp capping for jetson
Enable GPU edp capping for jetson-tk1.Also
update the max_cpu_current and max_gpu_current for
PM375
Bug 1563635
Change-Id: I165440959ba0f23d102f1d89a6c6e9191329305d
Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-on: http://git-master/r/590332
GVS: Gerrit_Virtual_Submit
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/configs/tegra12_defconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-ardbeg-power.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-ardbeg.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-tegra/edp.c | 7 |
4 files changed, 11 insertions, 3 deletions
diff --git a/arch/arm/configs/tegra12_defconfig b/arch/arm/configs/tegra12_defconfig index f4432b768db8..88f370f39cf7 100644 --- a/arch/arm/configs/tegra12_defconfig +++ b/arch/arm/configs/tegra12_defconfig @@ -33,6 +33,7 @@ CONFIG_TEGRA_EMC_SCALING_ENABLE=y CONFIG_TEGRA_CLOCK_DEBUG_WRITE=y CONFIG_TEGRA_PREINIT_CLOCKS=y CONFIG_TEGRA_EDP_LIMITS=y +CONFIG_TEGRA_GPU_EDP=y CONFIG_TEGRA_GADGET_BOOST_CPU_FREQ=1400 CONFIG_TEGRA_PREPOWER_WIFI=y CONFIG_TEGRA_DYNAMIC_PWRDET=y diff --git a/arch/arm/mach-tegra/board-ardbeg-power.c b/arch/arm/mach-tegra/board-ardbeg-power.c index df6a9aeed81f..684a950704db 100644 --- a/arch/arm/mach-tegra/board-ardbeg-power.c +++ b/arch/arm/mach-tegra/board-ardbeg-power.c @@ -391,6 +391,8 @@ int __init ardbeg_edp_init(void) regulator_mA = 16800; else if (pmu_board_info.board_id == BOARD_PM374) regulator_mA = 32000; + else if (pmu_board_info.board_id == BOARD_PM375) + regulator_mA = 11000; else regulator_mA = 14000; } @@ -403,6 +405,8 @@ int __init ardbeg_edp_init(void) regulator_mA = 11200; else if (pmu_board_info.board_id == BOARD_PM374) regulator_mA = 16000; + else if (pmu_board_info.board_id == BOARD_PM375) + regulator_mA = 10500; else regulator_mA = 12000; diff --git a/arch/arm/mach-tegra/board-ardbeg.c b/arch/arm/mach-tegra/board-ardbeg.c index 9b997ddde9f7..9d1da7f4877e 100644 --- a/arch/arm/mach-tegra/board-ardbeg.c +++ b/arch/arm/mach-tegra/board-ardbeg.c @@ -1290,7 +1290,6 @@ static void __init edp_init(void) break; case BOARD_PM358: case BOARD_PM359: - case BOARD_PM375: case BOARD_PM377: laguna_edp_init(); break; @@ -1298,6 +1297,7 @@ static void __init edp_init(void) case BOARD_E2548: loki_edp_init(); break; + case BOARD_PM375: default: ardbeg_edp_init(); break; diff --git a/arch/arm/mach-tegra/edp.c b/arch/arm/mach-tegra/edp.c index e7d9744a1a9c..df8c8dc8b40a 100644 --- a/arch/arm/mach-tegra/edp.c +++ b/arch/arm/mach-tegra/edp.c @@ -113,7 +113,7 @@ static struct tegra_edp_gpu_limits gpu_edp_default_limits[] = { }; static const int gpu_temperatures[] = { /* degree celcius (C) */ - 20, 50, 70, 75, 80, 85, 90, 95, 100, 105, + 0, 20, 50, 70, 75, 80, 85, 90, 95, 100, 105, }; #endif @@ -866,7 +866,10 @@ static int init_gpu_edp_limits_calculated(void) for (i = 0; i < ARRAY_SIZE(gpu_temperatures); i++) { gpu_edp_calculated_limits[i].temperature = gpu_temperatures[i]; - limit = gpu_edp_calculate_maxf(params, + if (gpu_temperatures[i] == 0 && tegra_gpu_speedo_id() == 5) + limit = 708000; + else + limit = gpu_edp_calculate_maxf(params, gpu_temperatures[i], gpu_iddq_ma); if (limit == -EINVAL) { |