summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorCyril Raju <craju@nvidia.com>2017-01-12 20:05:26 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-01-13 19:44:01 -0500
commitc58da17d131bc551f8b3c5a05e60d8375d940f02 (patch)
tree27cac59e1e68de4d0bb11d150df70a275d40dd07 /drivers
parentf15a86f26527505cbe0de96ecb56736eb1686b87 (diff)
nvgpu: gp10b: remove EMC floor when GPU Fmin
Remove EMC floor when GPU frequency is Fmin. At Fmin, we most likely require a very low memory bandwidth. At Fmin on load, actmon should sufficiently scale EMC and hence not bottlenecking GPU. Bug 1850297 Change-Id: I98b9dae648ea28910d534a9286ce2e9e91ea5fec Signed-off-by: Cyril Raju <craju@nvidia.com> Reviewed-on: http://git-master/r/1284572 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c b/drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c
index c198f9f1..9f45c929 100644
--- a/drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c
+++ b/drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c
@@ -312,7 +312,14 @@ static void gp10b_tegra_postscale(struct device *pdev,
312 312
313 gk20a_dbg_fn(""); 313 gk20a_dbg_fn("");
314 if (profile && !gp10b_tegra_is_railgated(pdev)) { 314 if (profile && !gp10b_tegra_is_railgated(pdev)) {
315 emc_rate = (freq * EMC_BW_RATIO * g->emc3d_ratio) / 1000; 315 unsigned long emc_scale;
316
317 if (freq <= gp10b_freq_table[0])
318 emc_scale = 0;
319 else
320 emc_scale = g->emc3d_ratio;
321
322 emc_rate = (freq * EMC_BW_RATIO * emc_scale) / 1000;
316 323
317 if (emc_rate > tegra_bwmgr_get_max_emc_rate()) 324 if (emc_rate > tegra_bwmgr_get_max_emc_rate())
318 emc_rate = tegra_bwmgr_get_max_emc_rate(); 325 emc_rate = tegra_bwmgr_get_max_emc_rate();