summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/mm_gv11b.c
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-03-03 16:51:07 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-03-22 13:11:26 -0400
commite24ed1f6d77dc8b277a1b4735228c5c0011559d4 (patch)
tree2308882946e85705046957860bc6a8233a37c54e /drivers/gpu/nvgpu/gv11b/mm_gv11b.c
parente83372e0cc78a16777f0d2f43936e772f40308d2 (diff)
gpu: nvgpu: gv11b: init mm ops for mmu_fault_pending
mmu fault reporting is moved from fifo* to fb* and gmmu* hw registers. JIRA GPUT19X-7 Change-Id: If2040ab661229c2e734042f2eec1592030615fee Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/1315203 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/mm_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/mm_gv11b.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/mm_gv11b.c b/drivers/gpu/nvgpu/gv11b/mm_gv11b.c
index d49c3b73..fd77ed10 100644
--- a/drivers/gpu/nvgpu/gv11b/mm_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/mm_gv11b.c
@@ -42,6 +42,15 @@ static void gv11b_init_inst_block(struct mem_desc *inst_block,
42 g->ops.mm.set_big_page_size(g, inst_block, big_page_size); 42 g->ops.mm.set_big_page_size(g, inst_block, big_page_size);
43} 43}
44 44
45static bool gv11b_mm_mmu_fault_pending(struct gk20a *g)
46{
47 if (gk20a_readl(g, fb_niso_intr_r()) &
48 (fb_niso_intr_mmu_nonreplayable_fault_notify_pending_f() |
49 fb_niso_intr_mmu_nonreplayable_fault_overflow_pending_f()))
50 return true;
51
52 return false;
53}
45 54
46void gv11b_init_mm(struct gpu_ops *gops) 55void gv11b_init_mm(struct gpu_ops *gops)
47{ 56{
@@ -50,4 +59,5 @@ void gv11b_init_mm(struct gpu_ops *gops)
50 gops->mm.is_bar1_supported = gv11b_mm_is_bar1_supported; 59 gops->mm.is_bar1_supported = gv11b_mm_is_bar1_supported;
51 gops->mm.init_inst_block = gv11b_init_inst_block; 60 gops->mm.init_inst_block = gv11b_init_inst_block;
52 gops->mm.init_mm_setup_hw = gk20a_init_mm_setup_hw; 61 gops->mm.init_mm_setup_hw = gk20a_init_mm_setup_hw;
62 gops->mm.mmu_fault_pending = gv11b_mm_mmu_fault_pending;
53} 63}