summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c8
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h4
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index 462af65f..0fd27598 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -6598,6 +6598,14 @@ int gk20a_gr_isr(struct gk20a *g)
6598 need_reset |= -EFAULT; 6598 need_reset |= -EFAULT;
6599 } 6599 }
6600 6600
6601 if (exception & gr_exception_sked_m()) {
6602 u32 sked = gk20a_readl(g, gr_sked_hww_esr_r());
6603
6604 nvgpu_err(g, "sked exception %08x", sked);
6605 gk20a_writel(g, gr_sked_hww_esr_r(),
6606 gr_sked_hww_esr_reset_active_f());
6607 }
6608
6601 gk20a_writel(g, gr_intr_r(), gr_intr_exception_reset_f()); 6609 gk20a_writel(g, gr_intr_r(), gr_intr_exception_reset_f());
6602 gr_intr &= ~gr_intr_exception_pending_f(); 6610 gr_intr &= ~gr_intr_exception_pending_f();
6603 6611
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h
index 455eef90..983f1cfe 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_gr_gk20a.h
@@ -186,6 +186,10 @@ static inline u32 gr_exception_ds_m(void)
186{ 186{
187 return 0x1 << 4; 187 return 0x1 << 4;
188} 188}
189static inline u32 gr_exception_sked_m(void)
190{
191 return 0x1 << 8;
192}
189static inline u32 gr_exception1_r(void) 193static inline u32 gr_exception1_r(void)
190{ 194{
191 return 0x00400118; 195 return 0x00400118;