summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2018-04-09 10:26:59 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-04-10 14:23:30 -0400
commitd91ea322e1a6ae51ae8e017d09bfaf3e139ecf2d (patch)
treec8f95d7f89ad3a7cec265ee0b69b619119af161e /drivers/gpu/nvgpu/gk20a/gr_gk20a.c
parentaa1f8e01ced661b640ee612f6a7bd201f0bbd6a4 (diff)
gpu: nvgpu: fix gpc/tpc index for SMPC broadcast conversion
In gv11b_gr_egpc_etpc_priv_addr_table(), we call gv11b_gr_update_priv_addr_table_smpc() to convert SMPC broadcast address into list of unicast addresses But before calling gv11b_gr_update_priv_addr_table_smpc() we sometimes incorrectly set gpc_num/tpc_num to zero and that leads to generating incorrect list of unicast addresses Remove this incorrect initialization of gpc_num/tpc_num Also update gv11b_gr_egpc_etpc_priv_addr_table() to receive tpc_num along with gpc_num Bug 2099717 Jira NVGPU-580 Change-Id: Idd4e5f78dbe6ca1800efae93c66355d06417d1f2 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1691373 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index e4344b9f..96bc72af 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -6421,7 +6421,7 @@ int gr_gk20a_create_priv_addr_table(struct gk20a *g,
6421 (addr_type == CTXSW_ADDR_TYPE_ETPC)) && 6421 (addr_type == CTXSW_ADDR_TYPE_ETPC)) &&
6422 g->ops.gr.egpc_etpc_priv_addr_table) { 6422 g->ops.gr.egpc_etpc_priv_addr_table) {
6423 gk20a_dbg(gpu_dbg_gpu_dbg, "addr_type : EGPC/ETPC"); 6423 gk20a_dbg(gpu_dbg_gpu_dbg, "addr_type : EGPC/ETPC");
6424 g->ops.gr.egpc_etpc_priv_addr_table(g, addr, gpc_num, 6424 g->ops.gr.egpc_etpc_priv_addr_table(g, addr, gpc_num, tpc_num,
6425 broadcast_flags, priv_addr_table, &t); 6425 broadcast_flags, priv_addr_table, &t);
6426 } else if (broadcast_flags & PRI_BROADCAST_FLAGS_LTSS) { 6426 } else if (broadcast_flags & PRI_BROADCAST_FLAGS_LTSS) {
6427 g->ops.gr.split_lts_broadcast_addr(g, addr, 6427 g->ops.gr.split_lts_broadcast_addr(g, addr,