diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 472dcc26..c36f2551 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5612,17 +5612,17 @@ clean_up: | |||
5612 | int gk20a_gr_nonstall_isr(struct gk20a *g) | 5612 | int gk20a_gr_nonstall_isr(struct gk20a *g) |
5613 | { | 5613 | { |
5614 | u32 gr_intr = gk20a_readl(g, gr_intr_nonstall_r()); | 5614 | u32 gr_intr = gk20a_readl(g, gr_intr_nonstall_r()); |
5615 | u32 clear_intr = 0; | ||
5616 | 5615 | ||
5617 | gk20a_dbg(gpu_dbg_intr, "pgraph nonstall intr %08x", gr_intr); | 5616 | gk20a_dbg(gpu_dbg_intr, "pgraph nonstall intr %08x", gr_intr); |
5618 | 5617 | ||
5619 | if (gr_intr & gr_intr_nonstall_trap_pending_f()) { | 5618 | if (gr_intr & gr_intr_nonstall_trap_pending_f()) { |
5619 | /* Clear the interrupt */ | ||
5620 | gk20a_writel(g, gr_intr_nonstall_r(), | ||
5621 | gr_intr_nonstall_trap_pending_f()); | ||
5622 | /* Wakeup all the waiting channels */ | ||
5620 | gk20a_channel_semaphore_wakeup(g); | 5623 | gk20a_channel_semaphore_wakeup(g); |
5621 | clear_intr |= gr_intr_nonstall_trap_pending_f(); | ||
5622 | } | 5624 | } |
5623 | 5625 | ||
5624 | gk20a_writel(g, gr_intr_nonstall_r(), clear_intr); | ||
5625 | |||
5626 | return 0; | 5626 | return 0; |
5627 | } | 5627 | } |
5628 | 5628 | ||