diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.c | 27 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hal_gv11b.c | 4 |
3 files changed, 3 insertions, 29 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c index 154088d6..fc894908 100644 --- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c | |||
@@ -2125,33 +2125,6 @@ void gr_gv11b_detect_sm_arch(struct gk20a *g) | |||
2125 | gr_gpc0_tpc0_sm_arch_warp_count_v(v); | 2125 | gr_gpc0_tpc0_sm_arch_warp_count_v(v); |
2126 | } | 2126 | } |
2127 | 2127 | ||
2128 | void gr_gv11b_init_sm_id_table(struct gk20a *g) | ||
2129 | { | ||
2130 | u32 gpc, tpc, sm; | ||
2131 | u32 sm_id = 0; | ||
2132 | u32 sm_per_tpc = nvgpu_get_litter_value(g, GPU_LIT_NUM_SM_PER_TPC); | ||
2133 | |||
2134 | /* TODO populate smids based on power efficiency */ | ||
2135 | for (tpc = 0; tpc < g->gr.max_tpc_per_gpc_count; tpc++) { | ||
2136 | for (gpc = 0; gpc < g->gr.gpc_count; gpc++) { | ||
2137 | |||
2138 | if (tpc >= g->gr.gpc_tpc_count[gpc]) | ||
2139 | continue; | ||
2140 | |||
2141 | for (sm = 0; sm < sm_per_tpc; sm++) { | ||
2142 | g->gr.sm_to_cluster[sm_id].tpc_index = tpc; | ||
2143 | g->gr.sm_to_cluster[sm_id].gpc_index = gpc; | ||
2144 | g->gr.sm_to_cluster[sm_id].sm_index = sm_id % 2; | ||
2145 | g->gr.sm_to_cluster[sm_id].global_tpc_index = | ||
2146 | tpc; | ||
2147 | sm_id++; | ||
2148 | } | ||
2149 | } | ||
2150 | } | ||
2151 | g->gr.no_of_sm = sm_id; | ||
2152 | nvgpu_log_info(g, " total number of sm = %d", g->gr.no_of_sm); | ||
2153 | } | ||
2154 | |||
2155 | void gr_gv11b_program_sm_id_numbering(struct gk20a *g, | 2128 | void gr_gv11b_program_sm_id_numbering(struct gk20a *g, |
2156 | u32 gpc, u32 tpc, u32 smid) | 2129 | u32 gpc, u32 tpc, u32 smid) |
2157 | { | 2130 | { |
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.h b/drivers/gpu/nvgpu/gv11b/gr_gv11b.h index ed469abd..e469d142 100644 --- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.h | |||
@@ -138,7 +138,6 @@ int gr_gv11b_handle_fecs_error(struct gk20a *g, | |||
138 | int gr_gv11b_setup_rop_mapping(struct gk20a *g, struct gr_gk20a *gr); | 138 | int gr_gv11b_setup_rop_mapping(struct gk20a *g, struct gr_gk20a *gr); |
139 | int gr_gv11b_init_sw_veid_bundle(struct gk20a *g); | 139 | int gr_gv11b_init_sw_veid_bundle(struct gk20a *g); |
140 | void gr_gv11b_detect_sm_arch(struct gk20a *g); | 140 | void gr_gv11b_detect_sm_arch(struct gk20a *g); |
141 | void gr_gv11b_init_sm_id_table(struct gk20a *g); | ||
142 | void gr_gv11b_program_sm_id_numbering(struct gk20a *g, | 141 | void gr_gv11b_program_sm_id_numbering(struct gk20a *g, |
143 | u32 gpc, u32 tpc, u32 smid); | 142 | u32 gpc, u32 tpc, u32 smid); |
144 | int gr_gv11b_load_smid_config(struct gk20a *g); | 143 | int gr_gv11b_load_smid_config(struct gk20a *g); |
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c index 46323cf9..8e4cdab8 100644 --- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |||
@@ -66,6 +66,8 @@ | |||
66 | #include "gp106/pmu_gp106.h" | 66 | #include "gp106/pmu_gp106.h" |
67 | #include "gp106/acr_gp106.h" | 67 | #include "gp106/acr_gp106.h" |
68 | 68 | ||
69 | #include "gv100/gr_gv100.h" | ||
70 | |||
69 | #include "dbg_gpu_gv11b.h" | 71 | #include "dbg_gpu_gv11b.h" |
70 | #include "hal_gv11b.h" | 72 | #include "hal_gv11b.h" |
71 | #include "css_gr_gv11b.h" | 73 | #include "css_gr_gv11b.h" |
@@ -298,7 +300,7 @@ static const struct gpu_ops gv11b_ops = { | |||
298 | .resume_contexts = gr_gk20a_resume_contexts, | 300 | .resume_contexts = gr_gk20a_resume_contexts, |
299 | .get_preemption_mode_flags = gr_gp10b_get_preemption_mode_flags, | 301 | .get_preemption_mode_flags = gr_gp10b_get_preemption_mode_flags, |
300 | .fuse_override = gp10b_gr_fuse_override, | 302 | .fuse_override = gp10b_gr_fuse_override, |
301 | .init_sm_id_table = gr_gv11b_init_sm_id_table, | 303 | .init_sm_id_table = gr_gv100_init_sm_id_table, |
302 | .load_smid_config = gr_gv11b_load_smid_config, | 304 | .load_smid_config = gr_gv11b_load_smid_config, |
303 | .program_sm_id_numbering = gr_gv11b_program_sm_id_numbering, | 305 | .program_sm_id_numbering = gr_gv11b_program_sm_id_numbering, |
304 | .is_ltcs_ltss_addr = gr_gm20b_is_ltcs_ltss_addr, | 306 | .is_ltcs_ltss_addr = gr_gm20b_is_ltcs_ltss_addr, |