From 8ed6ade94fa098a791e16d4096bc247d6179620a Mon Sep 17 00:00:00 2001 From: Seshendra Gadagottu Date: Fri, 25 Sep 2015 17:30:12 -0700 Subject: gpu: nvgpu: update slcg xbar prod settings Bug 1689806 Change-Id: I368ad8fb64e49b21ba61c519def1f86e1ca6e492 Signed-off-by: Seshendra Gadagottu 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 Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/gk20a.h | 1 + drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c | 3 +++ drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 7 +++++++ 3 files changed, 11 insertions(+) (limited to 'drivers') 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 { void (*blcg_ltc_load_gating_prod)(struct gk20a *g, bool prod); void (*blcg_pwr_csb_load_gating_prod)(struct gk20a *g, bool prod); void (*blcg_pmu_load_gating_prod)(struct gk20a *g, bool prod); + void (*blcg_xbar_load_gating_prod)(struct gk20a *g, bool prod); void (*pg_gr_load_gating_prod)(struct gk20a *g, bool prod); } clock_gating; 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, g->ops.clock_gating.blcg_ltc_load_gating_prod(g, g->blcg_enabled); if (g->ops.clock_gating.blcg_pmu_load_gating_prod) g->ops.clock_gating.blcg_pmu_load_gating_prod(g, g->blcg_enabled); + if (g->ops.clock_gating.blcg_xbar_load_gating_prod) + g->ops.clock_gating.blcg_xbar_load_gating_prod(g, + g->blcg_enabled); gk20a_idle(g->dev); 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) g->ops.clock_gating.slcg_ctxsw_firmware_load_gating_prod(g, g->slcg_enabled); g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled); + if (g->ops.clock_gating.slcg_xbar_load_gating_prod) + g->ops.clock_gating.slcg_xbar_load_gating_prod(g, + g->slcg_enabled); + /* blcg prod values */ g->ops.clock_gating.blcg_gr_load_gating_prod(g, g->blcg_enabled); if (g->ops.clock_gating.blcg_ctxsw_firmware_load_gating_prod) g->ops.clock_gating.blcg_ctxsw_firmware_load_gating_prod(g, g->blcg_enabled); + if (g->ops.clock_gating.blcg_xbar_load_gating_prod) + g->ops.clock_gating.blcg_xbar_load_gating_prod(g, + g->blcg_enabled); g->ops.clock_gating.pg_gr_load_gating_prod(g, true); } -- cgit v1.2.2