summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/os
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/os')
-rw-r--r--drivers/gpu/nvgpu/os/linux/platform_gv11b_tegra.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/platform_gv11b_tegra.c b/drivers/gpu/nvgpu/os/linux/platform_gv11b_tegra.c
index edb3263c..1b4a5456 100644
--- a/drivers/gpu/nvgpu/os/linux/platform_gv11b_tegra.c
+++ b/drivers/gpu/nvgpu/os/linux/platform_gv11b_tegra.c
@@ -44,6 +44,21 @@
44#include "platform_gk20a_tegra.h" 44#include "platform_gk20a_tegra.h"
45#include "gv11b/gr_gv11b.h" 45#include "gv11b/gr_gv11b.h"
46 46
47#define EMC3D_GV11B_RATIO 500
48
49void gv11b_tegra_scale_init(struct device *dev)
50{
51 struct gk20a_platform *platform = gk20a_get_platform(dev);
52 struct gk20a_scale_profile *profile = platform->g->scale_profile;
53
54 if (!profile)
55 return;
56
57 platform->g->emc3d_ratio = EMC3D_GV11B_RATIO;
58
59 gp10b_tegra_scale_init(dev);
60}
61
47static void gv11b_tegra_scale_exit(struct device *dev) 62static void gv11b_tegra_scale_exit(struct device *dev)
48{ 63{
49 struct gk20a_platform *platform = gk20a_get_platform(dev); 64 struct gk20a_platform *platform = gk20a_get_platform(dev);
@@ -238,7 +253,7 @@ struct gk20a_platform gv11b_tegra_platform = {
238 .get_clk_freqs = gp10b_clk_get_freqs, 253 .get_clk_freqs = gp10b_clk_get_freqs,
239 254
240 /* frequency scaling configuration */ 255 /* frequency scaling configuration */
241 .initscale = gp10b_tegra_scale_init, 256 .initscale = gv11b_tegra_scale_init,
242 .prescale = gp10b_tegra_prescale, 257 .prescale = gp10b_tegra_prescale,
243 .postscale = gp10b_tegra_postscale, 258 .postscale = gp10b_tegra_postscale,
244 .devfreq_governor = "nvhost_podgov", 259 .devfreq_governor = "nvhost_podgov",