diff options
author | Anders Kugler <akugler@nvidia.com> | 2015-04-24 20:17:45 -0400 |
---|---|---|
committer | Ishan Mittal <imittal@nvidia.com> | 2015-05-18 02:02:41 -0400 |
commit | 069accc8571716dc616c9f96776d54bf657afaee (patch) | |
tree | f68752203b20d5866ea852414b31c77a4d24a805 | |
parent | d20afe7bd4a5cf74c7dfab6b9735604ba506215e (diff) |
gpu: nvgpu: tegra gpu to emc frequency mapping
o emc clock scaling (bug fix):
Take the gpu load into account for gpu frequencies less
than or equal to fmax @ Vmin.
Bug 1591643
Change-Id: I0298adfdd4b7111557907c3bd6022fd6005355f0
Signed-off-by: Anders Kugler <akugler@nvidia.com>
Reviewed-on: http://git-master/r/735846
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c index a6dc8a35..41af2ca0 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | |||
@@ -162,8 +162,9 @@ static unsigned long gk20a_tegra_get_emc_rate(struct gk20a *g, | |||
162 | gpu_fmax_at_vmin = tegra_dvfs_get_fmax_at_vmin_safe_t( | 162 | gpu_fmax_at_vmin = tegra_dvfs_get_fmax_at_vmin_safe_t( |
163 | clk_get_parent(g->clk.tegra_clk)); | 163 | clk_get_parent(g->clk.tegra_clk)); |
164 | 164 | ||
165 | /* When scaling emc, only account for the gpu load below fmax@vmin */ | 165 | /* When scaling emc, account for the gpu load when the |
166 | if (gpu_freq < gpu_fmax_at_vmin) | 166 | * gpu frequency is less than or equal to fmax@vmin. */ |
167 | if (gpu_freq <= gpu_fmax_at_vmin) | ||
167 | emc_scale = min(g->pmu.load_avg, g->emc3d_ratio); | 168 | emc_scale = min(g->pmu.load_avg, g->emc3d_ratio); |
168 | else | 169 | else |
169 | emc_scale = g->emc3d_ratio; | 170 | emc_scale = g->emc3d_ratio; |