summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSeshendra Gadagottu <sgadagottu@nvidia.com>2015-09-25 20:30:12 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2015-10-06 16:28:51 -0400
commit8ed6ade94fa098a791e16d4096bc247d6179620a (patch)
tree451f38c0d27c52781419442a5411236029be3835 /drivers
parentcc793c34cc69fa16fe9d076579004d2369caa3a8 (diff)
gpu: nvgpu: update slcg xbar prod settings
Bug 1689806 Change-Id: I368ad8fb64e49b21ba61c519def1f86e1ca6e492 Signed-off-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: http://git-master/r/806116 (cherry picked from commit 1a3bbe989a795d379703e7f4b915f6e1bb38c2c3) Reviewed-on: http://git-master/r/805480 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h1
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c3
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c7
3 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index a5e130cb..f107d83d 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -215,6 +215,7 @@ struct gpu_ops {
215 void (*blcg_ltc_load_gating_prod)(struct gk20a *g, bool prod); 215 void (*blcg_ltc_load_gating_prod)(struct gk20a *g, bool prod);
216 void (*blcg_pwr_csb_load_gating_prod)(struct gk20a *g, bool prod); 216 void (*blcg_pwr_csb_load_gating_prod)(struct gk20a *g, bool prod);
217 void (*blcg_pmu_load_gating_prod)(struct gk20a *g, bool prod); 217 void (*blcg_pmu_load_gating_prod)(struct gk20a *g, bool prod);
218 void (*blcg_xbar_load_gating_prod)(struct gk20a *g, bool prod);
218 void (*pg_gr_load_gating_prod)(struct gk20a *g, bool prod); 219 void (*pg_gr_load_gating_prod)(struct gk20a *g, bool prod);
219 } clock_gating; 220 } clock_gating;
220 struct { 221 struct {
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
index 96a945f8..996fe221 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
@@ -115,6 +115,9 @@ static ssize_t blcg_enable_store(struct device *device,
115 g->ops.clock_gating.blcg_ltc_load_gating_prod(g, g->blcg_enabled); 115 g->ops.clock_gating.blcg_ltc_load_gating_prod(g, g->blcg_enabled);
116 if (g->ops.clock_gating.blcg_pmu_load_gating_prod) 116 if (g->ops.clock_gating.blcg_pmu_load_gating_prod)
117 g->ops.clock_gating.blcg_pmu_load_gating_prod(g, g->blcg_enabled); 117 g->ops.clock_gating.blcg_pmu_load_gating_prod(g, g->blcg_enabled);
118 if (g->ops.clock_gating.blcg_xbar_load_gating_prod)
119 g->ops.clock_gating.blcg_xbar_load_gating_prod(g,
120 g->blcg_enabled);
118 gk20a_idle(g->dev); 121 gk20a_idle(g->dev);
119 122
120 dev_info(device, "BLCG is %s.\n", g->blcg_enabled ? "enabled" : 123 dev_info(device, "BLCG is %s.\n", g->blcg_enabled ? "enabled" :
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index 19d9cffc..25679c4c 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -4227,11 +4227,18 @@ static void gr_gk20a_load_gating_prod(struct gk20a *g)
4227 g->ops.clock_gating.slcg_ctxsw_firmware_load_gating_prod(g, 4227 g->ops.clock_gating.slcg_ctxsw_firmware_load_gating_prod(g,
4228 g->slcg_enabled); 4228 g->slcg_enabled);
4229 g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled); 4229 g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled);
4230 if (g->ops.clock_gating.slcg_xbar_load_gating_prod)
4231 g->ops.clock_gating.slcg_xbar_load_gating_prod(g,
4232 g->slcg_enabled);
4230 4233
4234 /* blcg prod values */
4231 g->ops.clock_gating.blcg_gr_load_gating_prod(g, g->blcg_enabled); 4235 g->ops.clock_gating.blcg_gr_load_gating_prod(g, g->blcg_enabled);
4232 if (g->ops.clock_gating.blcg_ctxsw_firmware_load_gating_prod) 4236 if (g->ops.clock_gating.blcg_ctxsw_firmware_load_gating_prod)
4233 g->ops.clock_gating.blcg_ctxsw_firmware_load_gating_prod(g, 4237 g->ops.clock_gating.blcg_ctxsw_firmware_load_gating_prod(g,
4234 g->blcg_enabled); 4238 g->blcg_enabled);
4239 if (g->ops.clock_gating.blcg_xbar_load_gating_prod)
4240 g->ops.clock_gating.blcg_xbar_load_gating_prod(g,
4241 g->blcg_enabled);
4235 g->ops.clock_gating.pg_gr_load_gating_prod(g, true); 4242 g->ops.clock_gating.pg_gr_load_gating_prod(g, true);
4236} 4243}
4237 4244