diff options
author | Sunny He <suhe@nvidia.com> | 2017-07-26 17:23:01 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-08-11 17:16:53 -0400 |
commit | 96615351ad11a186f5869e56acb3c1948ab7b7cc (patch) | |
tree | ba966b032754711189b54f296888e00dcba608ef /drivers/gpu/nvgpu/gv11b/mm_gv11b.h | |
parent | da8e67f042760d54f3d6b5f84abbd9981d9fcd54 (diff) |
gpu: nvgpu: gv11b: Reorg mm HAL init
Reorganize HAL initialization to remove inheritance and construct
the gpu_ops struct at compile time. This patch only covers the
mm sub-module of the gpu_ops struct.
Perform HAL function assignments in hal_gxxxx.c through the
population of a chip-specific copy of gpu_ops.
Jira NVGPU-74
Change-Id: Ic2c7d56e552645f2125d9c60a817967be1e8e765
Signed-off-by: Sunny He <suhe@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1533355
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/mm_gv11b.h')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/mm_gv11b.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/mm_gv11b.h b/drivers/gpu/nvgpu/gv11b/mm_gv11b.h index a887c7f4..12f0fe63 100644 --- a/drivers/gpu/nvgpu/gv11b/mm_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/mm_gv11b.h | |||
@@ -18,7 +18,20 @@ | |||
18 | #define HW_FAULT_BUF_STATUS_ALLOC_TRUE 1 | 18 | #define HW_FAULT_BUF_STATUS_ALLOC_TRUE 1 |
19 | #define HW_FAULT_BUF_STATUS_ALLOC_FALSE 0 | 19 | #define HW_FAULT_BUF_STATUS_ALLOC_FALSE 0 |
20 | 20 | ||
21 | struct gpu_ops; | 21 | struct gk20a; |
22 | struct nvgpu_mem; | ||
23 | struct vm_gk20a; | ||
24 | |||
25 | bool gv11b_mm_is_bar1_supported(struct gk20a *g); | ||
26 | void gv11b_init_inst_block(struct nvgpu_mem *inst_block, | ||
27 | struct vm_gk20a *vm, u32 big_page_size); | ||
28 | bool gv11b_mm_mmu_fault_pending(struct gk20a *g); | ||
29 | void gv11b_mm_remove_bar2_vm(struct gk20a *g); | ||
30 | int gv11b_init_mm_setup_hw(struct gk20a *g); | ||
31 | int gv11b_init_bar2_mm_hw_setup(struct gk20a *g); | ||
32 | void gv11b_mm_l2_flush(struct gk20a *g, bool invalidate); | ||
33 | u64 gv11b_gpu_phys_addr(struct gk20a *g, | ||
34 | struct nvgpu_gmmu_attrs *attrs, u64 phys); | ||
35 | void gv11b_mm_fault_info_mem_destroy(struct gk20a *g); | ||
22 | 36 | ||
23 | void gv11b_init_mm(struct gpu_ops *gops); | ||
24 | #endif | 37 | #endif |