diff options
Diffstat (limited to 'drivers')
-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 | } |