summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-07-02 14:18:26 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-05 06:06:53 -0400
commitedf87a42c3b18c2db8df07705ac26addc8c84df2 (patch)
tree0f74622ef845758843a902eb8eb1e3f3095db9a5 /drivers/gpu/nvgpu/gv11b/gr_gv11b.c
parent690d560e65af8096bc391064631c74a3dd14fa89 (diff)
gpu: nvgpu: gv11b: init sm_debugger_attached gr ops
Support gv11b sm register address changes. JIRA GPUT19X-75 Change-Id: I22562789ef7c064fa36c2d382224af6dc6a806c7 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: https://git-master/r/1512206 GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/gr_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index 6ac0c44f..8e1f3af3 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -2741,6 +2741,26 @@ static void gv11b_gr_set_hww_esr_report_mask(struct gk20a *g)
2741 gr_gpc0_tpc0_sm0_hww_global_esr_report_mask_multiple_warp_errors_report_f()); 2741 gr_gpc0_tpc0_sm0_hww_global_esr_report_mask_multiple_warp_errors_report_f());
2742} 2742}
2743 2743
2744static bool gv11b_gr_sm_debugger_attached(struct gk20a *g)
2745{
2746 u32 debugger_mode;
2747 u32 dbgr_control0 = gk20a_readl(g, gr_gpc0_tpc0_sm0_dbgr_control0_r());
2748
2749 /* check if sm debugger is attached.
2750 * assumption: all SMs will have debug mode enabled/disabled
2751 * uniformly.
2752 */
2753 debugger_mode =
2754 gr_gpc0_tpc0_sm0_dbgr_control0_debugger_mode_v(dbgr_control0);
2755 gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg,
2756 "SM Debugger Mode: %d", debugger_mode);
2757 if (debugger_mode ==
2758 gr_gpc0_tpc0_sm0_dbgr_control0_debugger_mode_on_v())
2759 return true;
2760
2761 return false;
2762}
2763
2744void gv11b_init_gr(struct gpu_ops *gops) 2764void gv11b_init_gr(struct gpu_ops *gops)
2745{ 2765{
2746 gp10b_init_gr(gops); 2766 gp10b_init_gr(gops);
@@ -2809,4 +2829,5 @@ void gv11b_init_gr(struct gpu_ops *gops)
2809 gops->gr.set_sm_debug_mode = gv11b_gr_set_sm_debug_mode; 2829 gops->gr.set_sm_debug_mode = gv11b_gr_set_sm_debug_mode;
2810 gops->gr.record_sm_error_state = gv11b_gr_record_sm_error_state; 2830 gops->gr.record_sm_error_state = gv11b_gr_record_sm_error_state;
2811 gops->gr.set_hww_esr_report_mask = gv11b_gr_set_hww_esr_report_mask; 2831 gops->gr.set_hww_esr_report_mask = gv11b_gr_set_hww_esr_report_mask;
2832 gops->gr.sm_debugger_attached = gv11b_gr_sm_debugger_attached;
2812} 2833}