diff options
author | Richard Zhao <rizhao@nvidia.com> | 2015-12-02 14:35:08 -0500 |
---|---|---|
committer | Vladislav Buzov <vbuzov@nvidia.com> | 2016-01-10 23:06:34 -0500 |
commit | 476447ec554637a623169b5447e7b303ccd8ab98 (patch) | |
tree | aeca38eda0f4c529569d1f69037f84ce433f61fb | |
parent | 942936bae027cb774caaf257c22eb42be32dc2ec (diff) |
gpu: nvgpu: vgpu: add SM exception support
When TEGRA_VGPU_GR_INTR_SM_EXCEPTION comes, post
debugger event.
Bug 1594604
JIRA VFND-1120
Change-Id: I7229c3994220a7c6f117d38a1af2e766187a47c6
Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-on: http://git-master/r/923234
(cherry picked from commit bdd414d9366133380a202d88b1a50038b70c068d)
Reviewed-on: http://git-master/r/840646
Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vladislav Buzov <vbuzov@nvidia.com>
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gr_vgpu.c | 4 | ||||
-rw-r--r-- | include/linux/tegra_vgpu.h | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c index 835351c4..373dfd56 100644 --- a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c | |||
@@ -15,6 +15,7 @@ | |||
15 | 15 | ||
16 | #include "vgpu/vgpu.h" | 16 | #include "vgpu/vgpu.h" |
17 | #include "gk20a/hw_gr_gk20a.h" | 17 | #include "gk20a/hw_gr_gk20a.h" |
18 | #include "gk20a/dbg_gpu_gk20a.h" | ||
18 | 19 | ||
19 | static int vgpu_gr_commit_inst(struct channel_gk20a *c, u64 gpu_va) | 20 | static int vgpu_gr_commit_inst(struct channel_gk20a *c, u64 gpu_va) |
20 | { | 21 | { |
@@ -900,6 +901,9 @@ int vgpu_gr_isr(struct gk20a *g, struct tegra_vgpu_gr_intr_info *info) | |||
900 | gk20a_set_error_notifier(ch, | 901 | gk20a_set_error_notifier(ch, |
901 | NVGPU_CHANNEL_GR_ERROR_SW_NOTIFY); | 902 | NVGPU_CHANNEL_GR_ERROR_SW_NOTIFY); |
902 | break; | 903 | break; |
904 | case TEGRA_VGPU_GR_INTR_SM_EXCEPTION: | ||
905 | gk20a_dbg_gpu_post_events(ch); | ||
906 | break; | ||
903 | default: | 907 | default: |
904 | WARN_ON(1); | 908 | WARN_ON(1); |
905 | break; | 909 | break; |
diff --git a/include/linux/tegra_vgpu.h b/include/linux/tegra_vgpu.h index dbfa06d5..4db3a16f 100644 --- a/include/linux/tegra_vgpu.h +++ b/include/linux/tegra_vgpu.h | |||
@@ -317,7 +317,8 @@ enum { | |||
317 | TEGRA_VGPU_FIFO_INTR_MMU_FAULT, | 317 | TEGRA_VGPU_FIFO_INTR_MMU_FAULT, |
318 | TEGRA_VGPU_GR_NONSTALL_INTR_SEMAPHORE, | 318 | TEGRA_VGPU_GR_NONSTALL_INTR_SEMAPHORE, |
319 | TEGRA_VGPU_FIFO_NONSTALL_INTR_CHANNEL, | 319 | TEGRA_VGPU_FIFO_NONSTALL_INTR_CHANNEL, |
320 | TEGRA_VGPU_CE2_NONSTALL_INTR_NONBLOCKPIPE | 320 | TEGRA_VGPU_CE2_NONSTALL_INTR_NONBLOCKPIPE, |
321 | TEGRA_VGPU_GR_INTR_SM_EXCEPTION | ||
321 | }; | 322 | }; |
322 | 323 | ||
323 | struct tegra_vgpu_gr_intr_info { | 324 | struct tegra_vgpu_gr_intr_info { |