diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 5 |
2 files changed, 2 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index d8a73a75..1727cf1d 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | |||
@@ -780,7 +780,6 @@ void gk20a_fifo_reset_engine(struct gk20a *g, u32 engine_id) | |||
780 | /* resetting engine using mc_enable_r() is not | 780 | /* resetting engine using mc_enable_r() is not |
781 | enough, we do full init sequence */ | 781 | enough, we do full init sequence */ |
782 | gk20a_gr_reset(g); | 782 | gk20a_gr_reset(g); |
783 | gk20a_pmu_enable_elpg(g); | ||
784 | } | 783 | } |
785 | if (engine_id == top_device_info_type_enum_copy0_v()) | 784 | if (engine_id == top_device_info_type_enum_copy0_v()) |
786 | gk20a_reset(g, mc_enable_ce2_m()); | 785 | gk20a_reset(g, mc_enable_ce2_m()); |
@@ -1087,7 +1086,7 @@ static bool gk20a_fifo_handle_mmu_fault( | |||
1087 | " deferring channel recovery to channel free"); | 1086 | " deferring channel recovery to channel free"); |
1088 | /* clear interrupt */ | 1087 | /* clear interrupt */ |
1089 | gk20a_writel(g, fifo_intr_mmu_fault_id_r(), fault_id); | 1088 | gk20a_writel(g, fifo_intr_mmu_fault_id_r(), fault_id); |
1090 | goto exit_enable; | 1089 | return verbose; |
1091 | } | 1090 | } |
1092 | 1091 | ||
1093 | /* clear interrupt */ | 1092 | /* clear interrupt */ |
@@ -1102,7 +1101,6 @@ static bool gk20a_fifo_handle_mmu_fault( | |||
1102 | gr_gpfifo_ctl_access_enabled_f() | | 1101 | gr_gpfifo_ctl_access_enabled_f() | |
1103 | gr_gpfifo_ctl_semaphore_access_enabled_f()); | 1102 | gr_gpfifo_ctl_semaphore_access_enabled_f()); |
1104 | 1103 | ||
1105 | exit_enable: | ||
1106 | /* It is safe to enable ELPG again. */ | 1104 | /* It is safe to enable ELPG again. */ |
1107 | if (support_gk20a_pmu(g->dev) && g->elpg_enabled) | 1105 | if (support_gk20a_pmu(g->dev) && g->elpg_enabled) |
1108 | gk20a_pmu_enable_elpg(g); | 1106 | gk20a_pmu_enable_elpg(g); |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index e2532593..51b87ac8 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |||
@@ -439,10 +439,7 @@ void gk20a_gr_clear_sm_hww(struct gk20a *g, | |||
439 | int err = 0; \ | 439 | int err = 0; \ |
440 | if (support_gk20a_pmu(g->dev)) \ | 440 | if (support_gk20a_pmu(g->dev)) \ |
441 | err = gk20a_pmu_disable_elpg(g); \ | 441 | err = gk20a_pmu_disable_elpg(g); \ |
442 | if (err) { \ | 442 | if (err) return err; \ |
443 | gk20a_pmu_enable_elpg(g); \ | ||
444 | return err; \ | ||
445 | } \ | ||
446 | err = func; \ | 443 | err = func; \ |
447 | if (support_gk20a_pmu(g->dev)) \ | 444 | if (support_gk20a_pmu(g->dev)) \ |
448 | gk20a_pmu_enable_elpg(g); \ | 445 | gk20a_pmu_enable_elpg(g); \ |