diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-01-29 15:46:59 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 22:01:35 -0400 |
commit | 2503a45f46fb3f56786769cb8e930085bf1359ec (patch) | |
tree | 5af79ffdf7805c41fad9092d8b0eaa2d0daa5078 /drivers/gpu/nvgpu/gk20a | |
parent | 95548fa880f3a31d900cfb9c4b2e30e7dfacadac (diff) |
gpu: nvgpu: Catch DS exception
Catch DS exception and write an error to UART.
Change-Id: Iaad9813c48191f0d3d734d4af264b976a3818672
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/679142
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-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; |