summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-08-18 05:52:20 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:09 -0400
commit8be2f2bf4c46709f2a900b5ae5d8a61d2548ae3f (patch)
tree36363f4c66bdf10a9f0915e47e01580022684728 /drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
parent8374a3b27d85a8e3c508b2b90dc0aa34311dc95a (diff)
gpu: nvgpu: gm20b: Regenerate clock gating lists
Regenerate clock gating lists. Add new blocks, and takes them into use. Also moves some clock gating settings to be applied at the earliest possible moment right after reset. Change-Id: I21888186c200f7a477c63bd3332e8ed578f63741 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/457698
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
index fceed5e9..687147ed 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c
@@ -94,7 +94,19 @@ static ssize_t blcg_enable_store(struct device *device,
94 g->blcg_enabled = false; 94 g->blcg_enabled = false;
95 95
96 gk20a_busy(g->dev); 96 gk20a_busy(g->dev);
97 if (g->ops.clock_gating.blcg_bus_load_gating_prod)
98 g->ops.clock_gating.blcg_bus_load_gating_prod(g, g->blcg_enabled);
99 if (g->ops.clock_gating.blcg_ctxsw_firmware_load_gating_prod)
100 g->ops.clock_gating.blcg_ctxsw_firmware_load_gating_prod(g, g->blcg_enabled);
101 if (g->ops.clock_gating.blcg_fb_load_gating_prod)
102 g->ops.clock_gating.blcg_fb_load_gating_prod(g, g->blcg_enabled);
103 if (g->ops.clock_gating.blcg_fifo_load_gating_prod)
104 g->ops.clock_gating.blcg_fifo_load_gating_prod(g, g->blcg_enabled);
97 g->ops.clock_gating.blcg_gr_load_gating_prod(g, g->blcg_enabled); 105 g->ops.clock_gating.blcg_gr_load_gating_prod(g, g->blcg_enabled);
106 if (g->ops.clock_gating.blcg_ltc_load_gating_prod)
107 g->ops.clock_gating.blcg_ltc_load_gating_prod(g, g->blcg_enabled);
108 if (g->ops.clock_gating.blcg_pmu_load_gating_prod)
109 g->ops.clock_gating.blcg_pmu_load_gating_prod(g, g->blcg_enabled);
98 gk20a_idle(g->dev); 110 gk20a_idle(g->dev);
99 111
100 dev_info(device, "BLCG is %s.\n", g->blcg_enabled ? "enabled" : 112 dev_info(device, "BLCG is %s.\n", g->blcg_enabled ? "enabled" :
@@ -136,8 +148,28 @@ static ssize_t slcg_enable_store(struct device *device,
136 * it is added to init, we should add it here too. 148 * it is added to init, we should add it here too.
137 */ 149 */
138 gk20a_busy(g->dev); 150 gk20a_busy(g->dev);
151 if (g->ops.clock_gating.slcg_bus_load_gating_prod)
152 g->ops.clock_gating.slcg_bus_load_gating_prod(g, g->slcg_enabled);
153 if (g->ops.clock_gating.slcg_ce2_load_gating_prod)
154 g->ops.clock_gating.slcg_ce2_load_gating_prod(g, g->slcg_enabled);
155 if (g->ops.clock_gating.slcg_chiplet_load_gating_prod)
156 g->ops.clock_gating.slcg_chiplet_load_gating_prod(g, g->slcg_enabled);
157 if (g->ops.clock_gating.slcg_ctxsw_firmware_load_gating_prod)
158 g->ops.clock_gating.slcg_ctxsw_firmware_load_gating_prod(g, g->slcg_enabled);
159 if (g->ops.clock_gating.slcg_fb_load_gating_prod)
160 g->ops.clock_gating.slcg_fb_load_gating_prod(g, g->slcg_enabled);
161 if (g->ops.clock_gating.slcg_fifo_load_gating_prod)
162 g->ops.clock_gating.slcg_fifo_load_gating_prod(g, g->slcg_enabled);
139 g->ops.clock_gating.slcg_gr_load_gating_prod(g, g->slcg_enabled); 163 g->ops.clock_gating.slcg_gr_load_gating_prod(g, g->slcg_enabled);
164 if (g->ops.clock_gating.slcg_ltc_load_gating_prod)
165 g->ops.clock_gating.slcg_ltc_load_gating_prod(g, g->slcg_enabled);
140 g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled); 166 g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled);
167 if (g->ops.clock_gating.slcg_priring_load_gating_prod)
168 g->ops.clock_gating.slcg_priring_load_gating_prod(g, g->slcg_enabled);
169 if (g->ops.clock_gating.slcg_pmu_load_gating_prod)
170 g->ops.clock_gating.slcg_pmu_load_gating_prod(g, g->slcg_enabled);
171 if (g->ops.clock_gating.slcg_xbar_load_gating_prod)
172 g->ops.clock_gating.slcg_xbar_load_gating_prod(g, g->slcg_enabled);
141 gk20a_idle(g->dev); 173 gk20a_idle(g->dev);
142 174
143 dev_info(device, "SLCG is %s.\n", g->slcg_enabled ? "enabled" : 175 dev_info(device, "SLCG is %s.\n", g->slcg_enabled ? "enabled" :