diff options
author | Seema Khowala <seemaj@nvidia.com> | 2017-03-03 16:49:30 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-03-22 13:11:21 -0400 |
commit | 971a3c8050184f1defa894310cd572e41b3adc65 (patch) | |
tree | 54a7e01b35b568d9b2945c15eb45c0e1189838fb /drivers/gpu | |
parent | fcd7fce9bc9ee744a518854995ba9679216e09c8 (diff) |
gpu: nvgpu: add mm ops for mmu_fault_pending
This change is needed for t19x mmu fault handling.
Change-Id: I7f9190ab305f699401f6b0033b6a93dd8b4fc3cd
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: http://git-master/r/1315201
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/mm_gm20b.c | 1 |
4 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index d5757130..5bf1e02d 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -633,6 +633,7 @@ struct gpu_ops { | |||
633 | size_t (*get_vidmem_size)(struct gk20a *g); | 633 | size_t (*get_vidmem_size)(struct gk20a *g); |
634 | void (*init_inst_block)(struct mem_desc *inst_block, | 634 | void (*init_inst_block)(struct mem_desc *inst_block, |
635 | struct vm_gk20a *vm, u32 big_page_size); | 635 | struct vm_gk20a *vm, u32 big_page_size); |
636 | bool (*mmu_fault_pending)(struct gk20a *g); | ||
636 | } mm; | 637 | } mm; |
637 | struct { | 638 | struct { |
638 | int (*init_therm_setup_hw)(struct gk20a *g); | 639 | int (*init_therm_setup_hw)(struct gk20a *g); |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 5a76822f..9f527edd 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -8625,7 +8625,7 @@ int gk20a_gr_wait_for_sm_lock_down(struct gk20a *g, u32 gpc, u32 tpc, | |||
8625 | /* if an mmu fault is pending and mmu debug mode is not | 8625 | /* if an mmu fault is pending and mmu debug mode is not |
8626 | * enabled, the sm will never lock down. */ | 8626 | * enabled, the sm will never lock down. */ |
8627 | if (!mmu_debug_mode_enabled && | 8627 | if (!mmu_debug_mode_enabled && |
8628 | gk20a_fifo_mmu_fault_pending(g)) { | 8628 | (g->ops.mm.mmu_fault_pending(g))) { |
8629 | gk20a_err(dev_from_gk20a(g), | 8629 | gk20a_err(dev_from_gk20a(g), |
8630 | "GPC%d TPC%d: mmu fault pending," | 8630 | "GPC%d TPC%d: mmu fault pending," |
8631 | " sm will never lock down!", gpc, tpc); | 8631 | " sm will never lock down!", gpc, tpc); |
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index bb7c7985..eaf8f74a 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |||
@@ -5450,4 +5450,5 @@ void gk20a_init_mm(struct gpu_ops *gops) | |||
5450 | gops->mm.bar1_bind = gk20a_mm_bar1_bind; | 5450 | gops->mm.bar1_bind = gk20a_mm_bar1_bind; |
5451 | gops->mm.init_inst_block = gk20a_init_inst_block; | 5451 | gops->mm.init_inst_block = gk20a_init_inst_block; |
5452 | gops->mm.is_bar1_supported = gk20a_mm_is_bar1_supported; | 5452 | gops->mm.is_bar1_supported = gk20a_mm_is_bar1_supported; |
5453 | gops->mm.mmu_fault_pending = gk20a_fifo_mmu_fault_pending; | ||
5453 | } | 5454 | } |
diff --git a/drivers/gpu/nvgpu/gm20b/mm_gm20b.c b/drivers/gpu/nvgpu/gm20b/mm_gm20b.c index 0b3192cc..18f9eec1 100644 --- a/drivers/gpu/nvgpu/gm20b/mm_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/mm_gm20b.c | |||
@@ -110,4 +110,5 @@ void gm20b_init_mm(struct gpu_ops *gops) | |||
110 | gops->mm.bar1_bind = gm20b_mm_bar1_bind; | 110 | gops->mm.bar1_bind = gm20b_mm_bar1_bind; |
111 | gops->mm.is_bar1_supported = gm20b_mm_is_bar1_supported; | 111 | gops->mm.is_bar1_supported = gm20b_mm_is_bar1_supported; |
112 | gops->mm.init_inst_block = gk20a_init_inst_block; | 112 | gops->mm.init_inst_block = gk20a_init_inst_block; |
113 | gops->mm.mmu_fault_pending = gk20a_fifo_mmu_fault_pending; | ||
113 | } | 114 | } |