diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 6 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index 4095b079..df6b84c5 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | |||
@@ -900,7 +900,8 @@ void fifo_gk20a_finish_mmu_fault_handling(struct gk20a *g, | |||
900 | gr_gpfifo_ctl_semaphore_access_enabled_f()); | 900 | gr_gpfifo_ctl_semaphore_access_enabled_f()); |
901 | 901 | ||
902 | /* It is safe to enable ELPG again. */ | 902 | /* It is safe to enable ELPG again. */ |
903 | gk20a_pmu_enable_elpg(g); | 903 | if (support_gk20a_pmu(g->dev) && g->elpg_enabled) |
904 | gk20a_pmu_enable_elpg(g); | ||
904 | } | 905 | } |
905 | 906 | ||
906 | static bool gk20a_fifo_set_ctx_mmu_error(struct gk20a *g, | 907 | static bool gk20a_fifo_set_ctx_mmu_error(struct gk20a *g, |
@@ -974,7 +975,8 @@ static bool gk20a_fifo_handle_mmu_fault(struct gk20a *g) | |||
974 | g->fifo.deferred_reset_pending = false; | 975 | g->fifo.deferred_reset_pending = false; |
975 | 976 | ||
976 | /* Disable power management */ | 977 | /* Disable power management */ |
977 | gk20a_pmu_disable_elpg(g); | 978 | if (support_gk20a_pmu(g->dev) && g->elpg_enabled) |
979 | gk20a_pmu_disable_elpg(g); | ||
978 | g->ops.clock_gating.slcg_gr_load_gating_prod(g, | 980 | g->ops.clock_gating.slcg_gr_load_gating_prod(g, |
979 | false); | 981 | false); |
980 | g->ops.clock_gating.slcg_perf_load_gating_prod(g, | 982 | g->ops.clock_gating.slcg_perf_load_gating_prod(g, |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 276e5c3e..58108d97 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -820,7 +820,8 @@ static int gk20a_pm_finalize_poweron(struct device *dev) | |||
820 | goto done; | 820 | goto done; |
821 | } | 821 | } |
822 | 822 | ||
823 | err = g->ops.pmu.prepare_ucode(g); | 823 | if (g->ops.pmu.prepare_ucode) |
824 | err = g->ops.pmu.prepare_ucode(g); | ||
824 | if (err) { | 825 | if (err) { |
825 | gk20a_err(dev, "failed to init pmu ucode"); | 826 | gk20a_err(dev, "failed to init pmu ucode"); |
826 | goto done; | 827 | goto done; |