diff options
author | Seshendra Gadagottu <sgadagottu@nvidia.com> | 2015-09-25 20:30:12 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-10-06 16:28:51 -0400 |
commit | 8ed6ade94fa098a791e16d4096bc247d6179620a (patch) | |
tree | 451f38c0d27c52781419442a5411236029be3835 /drivers/gpu/nvgpu | |
parent | cc793c34cc69fa16fe9d076579004d2369caa3a8 (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/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 7 |
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 | ||