diff options
author | Mubushir Rahman <mubushirr@nvidia.com> | 2018-08-28 19:31:48 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-09 20:21:54 -0400 |
commit | b2ba12ed55e9b7079b4216d091003ad6f49a4433 (patch) | |
tree | b3256bddff1b89715ff47bf4e34ed77804de2be8 | |
parent | 3cf92ec89ba8deac77d726f02d79cba7c0e73e4d (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>
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/platform_gv11b_tegra.c | 17 |
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 | |||
49 | void 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 | |||
47 | static void gv11b_tegra_scale_exit(struct device *dev) | 62 | static 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", |