summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-02-16 12:29:15 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-02-17 18:30:58 -0500
commitc218fefe848893c9e4fa6b44ac65439444e47b04 (patch)
treedafb1ce230be964796220b5957ad7585d9307c7c /drivers/gpu/nvgpu/gk20a
parent4b8edeffe56685a9a3bdb9440af6376bb3bded61 (diff)
gpu: nvgpu: Fix unicast register accesses for SM
In two places we used broadcast register as base, but added the unicast offset to it. This causes the write to go well beyond valid register range. Change the broadcast base to use unicast base instead in sequence to resume a single SM and to record error state of SM. Bug 200256272 Change-Id: I4ca9af2bb5877dba20ab96575f5094d42949c9e2 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> (cherry-picked from commit 04177b3414535ce5092c8baeae29883bada9d36c) Reviewed-on: http://git-master/r/1306331 Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-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 170bfc7f..d3b91a50 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -8740,7 +8740,7 @@ void gk20a_resume_single_sm(struct gk20a *g,
8740 gr_gpcs_tpcs_sm_dbgr_control0_stop_trigger_m(), 8740 gr_gpcs_tpcs_sm_dbgr_control0_stop_trigger_m(),
8741 gr_gpcs_tpcs_sm_dbgr_control0_stop_trigger_disable_f()); 8741 gr_gpcs_tpcs_sm_dbgr_control0_stop_trigger_disable_f());
8742 gk20a_writel(g, 8742 gk20a_writel(g,
8743 gr_gpcs_tpcs_sm_dbgr_control0_r() + offset, dbgr_control0); 8743 gr_gpc0_tpc0_sm_dbgr_control0_r() + offset, dbgr_control0);
8744 8744
8745 /* Run trigger */ 8745 /* Run trigger */
8746 dbgr_control0 |= gr_gpcs_tpcs_sm_dbgr_control0_run_trigger_task_f(); 8746 dbgr_control0 |= gr_gpcs_tpcs_sm_dbgr_control0_run_trigger_task_f();