mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +03:00
gpu: nvgpu: move no_of_sm to common.gr.config
1. Move no_of_sm from gr to common.gr.config 2. Add nvgpu_gr_config_get_no_of_sm() API in gr.config to fetch no_of_sm. JIRA NVGPU-1884 Change-Id: I3c6c20a12cd7f9939a349a409932195f17392943 Signed-off-by: Nitin Kumbhar <nkumbhar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2073583 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
03e137b552
commit
a2314ee780
@@ -48,7 +48,7 @@ int gm20b_gr_config_init_sm_id_table(struct gk20a *g)
|
||||
}
|
||||
}
|
||||
}
|
||||
g->gr.no_of_sm = sm_id;
|
||||
g->gr.config->no_of_sm = sm_id;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -189,6 +189,10 @@ int gv100_gr_config_init_sm_id_table(struct gk20a *g)
|
||||
unsigned long *gpc_tpc_mask;
|
||||
u32 *tpc_table, *gpc_table;
|
||||
|
||||
if (g->gr.config == NULL) {
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
gpc_table = nvgpu_kzalloc(g, nvgpu_gr_config_get_tpc_count(gr->config) *
|
||||
sizeof(u32));
|
||||
tpc_table = nvgpu_kzalloc(g, nvgpu_gr_config_get_tpc_count(gr->config) *
|
||||
@@ -256,8 +260,8 @@ int gv100_gr_config_init_sm_id_table(struct gk20a *g)
|
||||
}
|
||||
}
|
||||
|
||||
g->gr.no_of_sm = num_sm;
|
||||
nvgpu_log_info(g, " total number of sm = %d", g->gr.no_of_sm);
|
||||
g->gr.config->no_of_sm = num_sm;
|
||||
nvgpu_log_info(g, " total number of sm = %d", g->gr.config->no_of_sm);
|
||||
exit_build_table:
|
||||
nvgpu_kfree(g, gpc_table);
|
||||
nvgpu_kfree(g, tpc_table);
|
||||
|
||||
@@ -109,6 +109,7 @@ int gv11b_gr_init_sm_id_config(struct gk20a *g, u32 *tpc_sm_id,
|
||||
u32 tpc_index, gpc_index, tpc_id;
|
||||
u32 sm_per_tpc = nvgpu_get_litter_value(g, GPU_LIT_NUM_SM_PER_TPC);
|
||||
u32 num_gpcs = nvgpu_get_litter_value(g, GPU_LIT_NUM_GPCS);
|
||||
u32 no_of_sm = nvgpu_gr_config_get_no_of_sm(g->gr.config);
|
||||
|
||||
/* Each NV_PGRAPH_PRI_CWD_GPC_TPC_ID can store 4 TPCs.*/
|
||||
for (i = 0U;
|
||||
@@ -125,7 +126,7 @@ int gv11b_gr_init_sm_id_config(struct gk20a *g, u32 *tpc_sm_id,
|
||||
tpc_id = (i << 2) + j;
|
||||
sm_id = tpc_id * sm_per_tpc;
|
||||
|
||||
if (sm_id >= g->gr.no_of_sm) {
|
||||
if (sm_id >= no_of_sm) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user