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>
This commit is contained in:
Mubushir Rahman
2018-08-28 16:31:48 -07:00
committed by mobile promotions
parent 3cf92ec89b
commit b2ba12ed55

View File

@@ -44,6 +44,21 @@
#include "platform_gk20a_tegra.h" #include "platform_gk20a_tegra.h"
#include "gv11b/gr_gv11b.h" #include "gv11b/gr_gv11b.h"
#define EMC3D_GV11B_RATIO 500
void gv11b_tegra_scale_init(struct device *dev)
{
struct gk20a_platform *platform = gk20a_get_platform(dev);
struct gk20a_scale_profile *profile = platform->g->scale_profile;
if (!profile)
return;
platform->g->emc3d_ratio = EMC3D_GV11B_RATIO;
gp10b_tegra_scale_init(dev);
}
static void gv11b_tegra_scale_exit(struct device *dev) static void gv11b_tegra_scale_exit(struct device *dev)
{ {
struct gk20a_platform *platform = gk20a_get_platform(dev); struct gk20a_platform *platform = gk20a_get_platform(dev);
@@ -238,7 +253,7 @@ struct gk20a_platform gv11b_tegra_platform = {
.get_clk_freqs = gp10b_clk_get_freqs, .get_clk_freqs = gp10b_clk_get_freqs,
/* frequency scaling configuration */ /* frequency scaling configuration */
.initscale = gp10b_tegra_scale_init, .initscale = gv11b_tegra_scale_init,
.prescale = gp10b_tegra_prescale, .prescale = gp10b_tegra_prescale,
.postscale = gp10b_tegra_postscale, .postscale = gp10b_tegra_postscale,
.devfreq_governor = "nvhost_podgov", .devfreq_governor = "nvhost_podgov",