From c58da17d131bc551f8b3c5a05e60d8375d940f02 Mon Sep 17 00:00:00 2001 From: Cyril Raju Date: Thu, 12 Jan 2017 17:05:26 -0800 Subject: 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 Reviewed-on: http://git-master/r/1284572 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Seshendra Gadagottu Reviewed-by: svccoveritychecker GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gp10b/platform_gp10b_tegra.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'drivers') 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, gk20a_dbg_fn(""); if (profile && !gp10b_tegra_is_railgated(pdev)) { - emc_rate = (freq * EMC_BW_RATIO * g->emc3d_ratio) / 1000; + unsigned long emc_scale; + + if (freq <= gp10b_freq_table[0]) + emc_scale = 0; + else + emc_scale = g->emc3d_ratio; + + emc_rate = (freq * EMC_BW_RATIO * emc_scale) / 1000; if (emc_rate > tegra_bwmgr_get_max_emc_rate()) emc_rate = tegra_bwmgr_get_max_emc_rate(); -- cgit v1.2.2