From da8e67f042760d54f3d6b5f84abbd9981d9fcd54 Mon Sep 17 00:00:00 2001 From: Sunny He Date: Mon, 31 Jul 2017 14:40:46 -0700 Subject: gpu: nvgpu: gv11b: Reorg fb HAL initialization Reorganize HAL initialization to remove inheritance and construct the gpu_ops struct at compile time. This patch only covers the fb 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: I896d90e0dcffc0e133e6902ff9c3eab39c53080d Signed-off-by: Sunny He Reviewed-on: https://git-master.nvidia.com/r/1533354 Reviewed-by: svccoveritychecker Reviewed-by: svc-mobile-coverity GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gv11b/fb_gv11b.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/gv11b/fb_gv11b.h') diff --git a/drivers/gpu/nvgpu/gv11b/fb_gv11b.h b/drivers/gpu/nvgpu/gv11b/fb_gv11b.h index 39cdfb77..3e2dd828 100644 --- a/drivers/gpu/nvgpu/gv11b/fb_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/fb_gv11b.h @@ -42,9 +42,13 @@ #define FAULT_TYPE_OTHER_AND_NONREPLAY 0 #define FAULT_TYPE_REPLAY 1 -struct gpu_ops; +struct gk20a; + +void gv11b_fb_init_fs_state(struct gk20a *g); +void gv11b_fb_init_cbc(struct gk20a *g, struct gr_gk20a *gr); +void gv11b_fb_reset(struct gk20a *g); +void gv11b_fb_hub_isr(struct gk20a *g); -void gv11b_init_fb(struct gpu_ops *gops); u32 gv11b_fb_is_fault_buf_enabled(struct gk20a *g, unsigned int index); void gv11b_fb_fault_buf_set_state_hw(struct gk20a *g, @@ -56,4 +60,7 @@ void gv11b_fb_disable_hub_intr(struct gk20a *g, unsigned int index, unsigned int intr_type); void gv11b_fb_fault_buf_configure_hw(struct gk20a *g, unsigned int index); bool gv11b_fb_mmu_fault_pending(struct gk20a *g); + +noinline_for_stack void gv11b_init_uncompressed_kind_map(void); +void gv11b_init_kind_attr(void); #endif -- cgit v1.2.2