diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-08-29 12:16:12 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-09-08 23:05:49 -0400 |
commit | f56ed459dde2a292b3af0dd4deb96b1090eb53a2 (patch) | |
tree | e69a53c34f6b89805ef74a63ecfacede0d864cc5 /drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c | |
parent | a0dd3ee5becb8e0f91e46654e25619b55655c017 (diff) |
gpu: nvgpu: Skip calling undefined prod callbacks
Fix rest of code to not call prod callbacks that are set to NULL.
Bug 1799537
Change-Id: I756bb1f7ef58ba753ac43a2be6f125107be3cf34
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/1209133
(cherry picked from commit 5f4d7b42b6101407fde8c4a7dcdd3633eca85ae5)
Reviewed-on: http://git-master/r/1217297
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c index 973adc7d..8ac983d9 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c | |||
@@ -104,7 +104,8 @@ static ssize_t blcg_enable_store(struct device *dev, | |||
104 | g->ops.clock_gating.blcg_fb_load_gating_prod(g, g->blcg_enabled); | 104 | g->ops.clock_gating.blcg_fb_load_gating_prod(g, g->blcg_enabled); |
105 | if (g->ops.clock_gating.blcg_fifo_load_gating_prod) | 105 | if (g->ops.clock_gating.blcg_fifo_load_gating_prod) |
106 | g->ops.clock_gating.blcg_fifo_load_gating_prod(g, g->blcg_enabled); | 106 | g->ops.clock_gating.blcg_fifo_load_gating_prod(g, g->blcg_enabled); |
107 | g->ops.clock_gating.blcg_gr_load_gating_prod(g, g->blcg_enabled); | 107 | if (g->ops.clock_gating.blcg_gr_load_gating_prod) |
108 | g->ops.clock_gating.blcg_gr_load_gating_prod(g, g->blcg_enabled); | ||
108 | if (g->ops.clock_gating.blcg_ltc_load_gating_prod) | 109 | if (g->ops.clock_gating.blcg_ltc_load_gating_prod) |
109 | g->ops.clock_gating.blcg_ltc_load_gating_prod(g, g->blcg_enabled); | 110 | g->ops.clock_gating.blcg_ltc_load_gating_prod(g, g->blcg_enabled); |
110 | if (g->ops.clock_gating.blcg_pmu_load_gating_prod) | 111 | if (g->ops.clock_gating.blcg_pmu_load_gating_prod) |
@@ -167,10 +168,12 @@ static ssize_t slcg_enable_store(struct device *dev, | |||
167 | g->ops.clock_gating.slcg_fb_load_gating_prod(g, g->slcg_enabled); | 168 | g->ops.clock_gating.slcg_fb_load_gating_prod(g, g->slcg_enabled); |
168 | if (g->ops.clock_gating.slcg_fifo_load_gating_prod) | 169 | if (g->ops.clock_gating.slcg_fifo_load_gating_prod) |
169 | g->ops.clock_gating.slcg_fifo_load_gating_prod(g, g->slcg_enabled); | 170 | g->ops.clock_gating.slcg_fifo_load_gating_prod(g, g->slcg_enabled); |
170 | g->ops.clock_gating.slcg_gr_load_gating_prod(g, g->slcg_enabled); | 171 | if (g->ops.clock_gating.slcg_gr_load_gating_prod) |
172 | g->ops.clock_gating.slcg_gr_load_gating_prod(g, g->slcg_enabled); | ||
171 | if (g->ops.clock_gating.slcg_ltc_load_gating_prod) | 173 | if (g->ops.clock_gating.slcg_ltc_load_gating_prod) |
172 | g->ops.clock_gating.slcg_ltc_load_gating_prod(g, g->slcg_enabled); | 174 | g->ops.clock_gating.slcg_ltc_load_gating_prod(g, g->slcg_enabled); |
173 | g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled); | 175 | if (g->ops.clock_gating.slcg_perf_load_gating_prod) |
176 | g->ops.clock_gating.slcg_perf_load_gating_prod(g, g->slcg_enabled); | ||
174 | if (g->ops.clock_gating.slcg_priring_load_gating_prod) | 177 | if (g->ops.clock_gating.slcg_priring_load_gating_prod) |
175 | g->ops.clock_gating.slcg_priring_load_gating_prod(g, g->slcg_enabled); | 178 | g->ops.clock_gating.slcg_priring_load_gating_prod(g, g->slcg_enabled); |
176 | if (g->ops.clock_gating.slcg_pmu_load_gating_prod) | 179 | if (g->ops.clock_gating.slcg_pmu_load_gating_prod) |