diff options
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/vgpu.c')
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/vgpu.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/vgpu.c b/drivers/gpu/nvgpu/vgpu/vgpu.c index b67f4d95..90197ab4 100644 --- a/drivers/gpu/nvgpu/vgpu/vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/vgpu.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include "gk20a/debug_gk20a.h" | 22 | #include "gk20a/debug_gk20a.h" |
23 | #include "gk20a/hal_gk20a.h" | 23 | #include "gk20a/hal_gk20a.h" |
24 | #include "gk20a/hw_mc_gk20a.h" | 24 | #include "gk20a/hw_mc_gk20a.h" |
25 | #include "gk20a/ctxsw_trace_gk20a.h" | ||
25 | #include "gm20b/hal_gm20b.h" | 26 | #include "gm20b/hal_gm20b.h" |
26 | 27 | ||
27 | #ifdef CONFIG_ARCH_TEGRA_18x_SOC | 28 | #ifdef CONFIG_ARCH_TEGRA_18x_SOC |
@@ -120,6 +121,12 @@ static int vgpu_intr_thread(void *dev_id) | |||
120 | break; | 121 | break; |
121 | } | 122 | } |
122 | 123 | ||
124 | if (msg->event == TEGRA_VGPU_EVENT_FECS_TRACE) { | ||
125 | vgpu_fecs_trace_data_update(g); | ||
126 | tegra_gr_comm_release(handle); | ||
127 | continue; | ||
128 | } | ||
129 | |||
123 | if (msg->unit == TEGRA_VGPU_INTR_GR) | 130 | if (msg->unit == TEGRA_VGPU_INTR_GR) |
124 | vgpu_gr_isr(g, &msg->info.gr_intr); | 131 | vgpu_gr_isr(g, &msg->info.gr_intr); |
125 | else if (msg->unit == TEGRA_VGPU_NONSTALL_INTR_GR) | 132 | else if (msg->unit == TEGRA_VGPU_NONSTALL_INTR_GR) |
@@ -334,6 +341,7 @@ int vgpu_pm_finalize_poweron(struct device *dev) | |||
334 | 341 | ||
335 | g->gpu_characteristics.flags &= ~NVGPU_GPU_FLAGS_SUPPORT_TSG; | 342 | g->gpu_characteristics.flags &= ~NVGPU_GPU_FLAGS_SUPPORT_TSG; |
336 | 343 | ||
344 | gk20a_ctxsw_trace_init(g); | ||
337 | gk20a_channel_resume(g); | 345 | gk20a_channel_resume(g); |
338 | 346 | ||
339 | done: | 347 | done: |