summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/gr_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index e0c60efb..7f6d1906 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -3979,6 +3979,7 @@ void gv11b_gr_egpc_etpc_priv_addr_table(struct gk20a *g, u32 addr,
3979 u32 gpc, u32 broadcast_flags, u32 *priv_addr_table, u32 *t) 3979 u32 gpc, u32 broadcast_flags, u32 *priv_addr_table, u32 *t)
3980{ 3980{
3981 u32 gpc_num, tpc_num; 3981 u32 gpc_num, tpc_num;
3982 u32 priv_addr, gpc_addr;
3982 3983
3983 nvgpu_log_info(g, "addr=0x%x", addr); 3984 nvgpu_log_info(g, "addr=0x%x", addr);
3984 3985
@@ -4017,10 +4018,16 @@ void gv11b_gr_egpc_etpc_priv_addr_table(struct gk20a *g, u32 addr,
4017 g, gpc_num, tpc_num, addr, 4018 g, gpc_num, tpc_num, addr,
4018 priv_addr_table, t); 4019 priv_addr_table, t);
4019 } else { 4020 } else {
4020 priv_addr_table[*t] = 4021 priv_addr = pri_egpc_addr(g,
4021 pri_egpc_addr(g, 4022 pri_gpccs_addr_mask(addr),
4022 pri_gpccs_addr_mask(addr), 4023 gpc_num);
4023 gpc_num); 4024
4025 gpc_addr = pri_gpccs_addr_mask(priv_addr);
4026 tpc_num = g->ops.gr.get_tpc_num(g, gpc_addr);
4027 if (tpc_num >= g->gr.gpc_tpc_count[gpc_num])
4028 continue;
4029
4030 priv_addr_table[*t] = priv_addr;
4024 nvgpu_log_info(g, "priv_addr_table[%d]:%#08x", 4031 nvgpu_log_info(g, "priv_addr_table[%d]:%#08x",
4025 *t, priv_addr_table[*t]); 4032 *t, priv_addr_table[*t]);
4026 (*t)++; 4033 (*t)++;