summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-06-12 13:45:12 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-13 12:14:03 -0400
commit64050935e931df0650a82c9f28bc9a3a331f4152 (patch)
treec4e844f125db448f0b8918c8ddb92b670dd497f7 /drivers/gpu/nvgpu
parente9267bb3e5624825114fedc03d511035785f2fd7 (diff)
gpu: nvgpu: add sked exception detection and handling
Needed to detect and clear sked exception Bug 200315442 Change-Id: Ia85e8827e563addf7b9d0f95ef192379bb808638 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/1500860 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-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;