summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/os
diff options
context:
space:
mode:
authorMubushir Rahman <mubushirr@nvidia.com>2018-08-28 19:31:48 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-09 20:21:54 -0400
commitb2ba12ed55e9b7079b4216d091003ad6f49a4433 (patch)
treeb3256bddff1b89715ff47bf4e34ed77804de2be8 /drivers/gpu/nvgpu/os
parent3cf92ec89ba8deac77d726f02d79cba7c0e73e4d (diff)
gpu: nvgpu: gv11b: add chip specific init function
- Add gv11b specific init function - This init function will set a chip specific value for emc3d_ratio and then call the gp10b init function Bug 200438743 Change-Id: If6128c2156e4b65086827615909ed17cce1d9224 Signed-off-by: Mubushir Rahman <mubushirr@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1808673 Reviewed-by: svc-misra-checker <svc-misra-checker@nvidia.com> Reviewed-by: Ilan Aelion <iaelion@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
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",