summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c6
-rw-r--r--drivers/gpu/nvgpu/gk20a/hw_gr_gk20a.h4
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}
185static inline u32 gr_exception_ds_m(void)
186{
187 return 0x1 << 4;
188}
185static inline u32 gr_exception1_r(void) 189static inline u32 gr_exception1_r(void)
186{ 190{
187 return 0x00400118; 191 return 0x00400118;