summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/mm_vgpu.c
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2015-11-12 15:13:30 -0500
committerVladislav Buzov <vbuzov@nvidia.com>2015-12-04 15:01:46 -0500
commit71c8d62657db7ef40a30b7504632d668f4e64bc6 (patch)
treefb732258f28b41a07e1e05db61f8aec1c5ea61df /drivers/gpu/nvgpu/vgpu/mm_vgpu.c
parent3298a8befb14ff0a1843b46683b196bb84f2e8db (diff)
gpu: nvgpu: vgpu: add set mmu debug mode support
JIRA VFND-1005 Bug 1594604 Change-Id: Ic159a1aff9cee508194f1f5dff7a16eb0e47ad64 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: http://git-master/r/833498 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/mm_vgpu.c')
-rw-r--r--drivers/gpu/nvgpu/vgpu/mm_vgpu.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/mm_vgpu.c b/drivers/gpu/nvgpu/vgpu/mm_vgpu.c
index bfaacff5..8af01158 100644
--- a/drivers/gpu/nvgpu/vgpu/mm_vgpu.c
+++ b/drivers/gpu/nvgpu/vgpu/mm_vgpu.c
@@ -531,8 +531,26 @@ static void vgpu_mm_tlb_invalidate(struct vm_gk20a *vm)
531 WARN_ON(err || msg.ret); 531 WARN_ON(err || msg.ret);
532} 532}
533 533
534static void vgpu_mm_mmu_set_debug_mode(struct gk20a *g, bool enable)
535{
536 struct gk20a_platform *platform = gk20a_get_platform(g->dev);
537 struct tegra_vgpu_cmd_msg msg;
538 struct tegra_vgpu_mmu_debug_mode *p = &msg.params.mmu_debug_mode;
539 int err;
540
541 gk20a_dbg_fn("");
542
543 msg.cmd = TEGRA_VGPU_CMD_SET_MMU_DEBUG_MODE;
544 msg.handle = platform->virt_handle;
545 p->enable = (u32)enable;
546 err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg));
547 WARN_ON(err || msg.ret);
548}
549
534void vgpu_init_mm_ops(struct gpu_ops *gops) 550void vgpu_init_mm_ops(struct gpu_ops *gops)
535{ 551{
552 gops->mm.is_debug_mode_enabled = NULL;
553 gops->mm.set_debug_mode = vgpu_mm_mmu_set_debug_mode;
536 gops->mm.gmmu_map = vgpu_locked_gmmu_map; 554 gops->mm.gmmu_map = vgpu_locked_gmmu_map;
537 gops->mm.gmmu_unmap = vgpu_locked_gmmu_unmap; 555 gops->mm.gmmu_unmap = vgpu_locked_gmmu_unmap;
538 gops->mm.vm_remove = vgpu_vm_remove_support; 556 gops->mm.vm_remove = vgpu_vm_remove_support;