summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv100
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2017-10-23 13:20:12 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-25 14:23:24 -0400
commitc6ccb5f2a1e9a8999436f6c28ed5c416c5418ae3 (patch)
treedc1b7459c0a6c6d46ef2b0b3bd345c4522ae7e1e /drivers/gpu/nvgpu/gv100
parent0899e11d4bb630381607a0c245f72476e2e9209e (diff)
gpu: nvgpu: gv11b: use scg perf for smid numbering
For SCG to work, smid numbering needs to be done based on scg performance of tpcs. For gv11b and gv11b vgpu, reuse gv100 function "gr_gv100_init_sm_id_table" to do this. Used local variable "index" to avoid multiple computations in the function: gr_gv100_init_sm_id_table index = sm_id + sm Add deug info for printing initialized gpc/tpc/sm/global_tpc indexs. Bug 1842197 Change-Id: Ibf10f47f10a8ca58b86c307a22e159b2cc0d0f43 Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1583916 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv100')
-rw-r--r--drivers/gpu/nvgpu/gv100/gr_gv100.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gv100/gr_gv100.c b/drivers/gpu/nvgpu/gv100/gr_gv100.c
index 4b2038ba..8a4b88b4 100644
--- a/drivers/gpu/nvgpu/gv100/gr_gv100.c
+++ b/drivers/gpu/nvgpu/gv100/gr_gv100.c
@@ -251,12 +251,19 @@ void gr_gv100_init_sm_id_table(struct gk20a *g)
251 251
252 for (tpc = 0, sm_id = 0; sm_id < num_sm; tpc++, sm_id += sm_per_tpc) { 252 for (tpc = 0, sm_id = 0; sm_id < num_sm; tpc++, sm_id += sm_per_tpc) {
253 for (sm = 0; sm < sm_per_tpc; sm++) { 253 for (sm = 0; sm < sm_per_tpc; sm++) {
254 g->gr.sm_to_cluster[sm_id + sm].gpc_index = 254 u32 index = sm_id + sm;
255 gpc_table[tpc]; 255
256 g->gr.sm_to_cluster[sm_id + sm].tpc_index = 256 g->gr.sm_to_cluster[index].gpc_index = gpc_table[tpc];
257 tpc_table[tpc]; 257 g->gr.sm_to_cluster[index].tpc_index = tpc_table[tpc];
258 g->gr.sm_to_cluster[sm_id + sm].sm_index = sm; 258 g->gr.sm_to_cluster[index].sm_index = sm;
259 g->gr.sm_to_cluster[sm_id + sm].global_tpc_index = tpc; 259 g->gr.sm_to_cluster[index].global_tpc_index = tpc;
260 nvgpu_log_info(g,
261 "gpc : %d tpc %d sm_index %d global_index: %d",
262 g->gr.sm_to_cluster[index].gpc_index,
263 g->gr.sm_to_cluster[index].tpc_index,
264 g->gr.sm_to_cluster[index].sm_index,
265 g->gr.sm_to_cluster[index].global_tpc_index);
266
260 } 267 }
261 } 268 }
262 269