diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 6 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/hw_gr_gk20a.h | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index e4e0d163..e8340216 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5612,6 +5612,12 @@ int gk20a_gr_isr(struct gk20a *g) | |||
5612 | NVGPU_CHANNEL_GR_ERROR_SW_NOTIFY); | 5612 | NVGPU_CHANNEL_GR_ERROR_SW_NOTIFY); |
5613 | } | 5613 | } |
5614 | 5614 | ||
5615 | if (exception & gr_exception_ds_m()) { | ||
5616 | u32 ds = gk20a_readl(g, gr_ds_hww_esr_r()); | ||
5617 | gk20a_dbg(gpu_dbg_intr, "ds exception %08x\n", ds); | ||
5618 | gk20a_writel(g, gr_ds_hww_esr_r(), ds); | ||
5619 | } | ||
5620 | |||
5615 | gk20a_writel(g, gr_intr_r(), gr_intr_exception_reset_f()); | 5621 | gk20a_writel(g, gr_intr_r(), gr_intr_exception_reset_f()); |
5616 | gr_intr &= ~gr_intr_exception_pending_f(); | 5622 | gr_intr &= ~gr_intr_exception_pending_f(); |
5617 | } | 5623 | } |
diff --git a/drivers/gpu/nvgpu/gk20a/hw_gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/hw_gr_gk20a.h index 8a6c2f23..2d63147a 100644 --- a/drivers/gpu/nvgpu/gk20a/hw_gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/hw_gr_gk20a.h | |||
@@ -182,6 +182,10 @@ static inline u32 gr_exception_memfmt_m(void) | |||
182 | { | 182 | { |
183 | return 0x1 << 1; | 183 | return 0x1 << 1; |
184 | } | 184 | } |
185 | static inline u32 gr_exception_ds_m(void) | ||
186 | { | ||
187 | return 0x1 << 4; | ||
188 | } | ||
185 | static inline u32 gr_exception1_r(void) | 189 | static inline u32 gr_exception1_r(void) |
186 | { | 190 | { |
187 | return 0x00400118; | 191 | return 0x00400118; |