diff options
author | Seema Khowala <seemaj@nvidia.com> | 2017-06-22 13:37:09 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-07-06 15:04:41 -0400 |
commit | bdf5207583a3c8f3bd4d844548d443f1454d26f5 (patch) | |
tree | c1baf1ae843813d26363df4f7bef08a42d18439e /drivers | |
parent | d250adf53e836ea982193ad8a3e08084411d81a2 (diff) |
gpu: nvgpu: gv11b: init get_sm_no_lock_down_hww_global_esr_mask gr ops
Support SM register changes
JIRA GPUT19X-75
Change-Id: I5d5e702d681398a8a8181d912e8c691c15e265d9
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: https://git-master/r/1514036
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c index 0fcbd0d7..a726d058 100644 --- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c | |||
@@ -3009,6 +3009,23 @@ static u32 gv11b_gr_get_sm_hww_global_esr(struct gk20a *g, | |||
3009 | return hww_global_esr; | 3009 | return hww_global_esr; |
3010 | } | 3010 | } |
3011 | 3011 | ||
3012 | static u32 gv11b_gr_get_sm_no_lock_down_hww_global_esr_mask(struct gk20a *g) | ||
3013 | { | ||
3014 | /* | ||
3015 | * These three interrupts don't require locking down the SM. They can | ||
3016 | * be handled by usermode clients as they aren't fatal. Additionally, | ||
3017 | * usermode clients may wish to allow some warps to execute while others | ||
3018 | * are at breakpoints, as opposed to fatal errors where all warps should | ||
3019 | * halt. | ||
3020 | */ | ||
3021 | u32 global_esr_mask = | ||
3022 | gr_gpc0_tpc0_sm0_hww_global_esr_bpt_int_pending_f() | | ||
3023 | gr_gpc0_tpc0_sm0_hww_global_esr_bpt_pause_pending_f() | | ||
3024 | gr_gpc0_tpc0_sm0_hww_global_esr_single_step_complete_pending_f(); | ||
3025 | |||
3026 | return global_esr_mask; | ||
3027 | } | ||
3028 | |||
3012 | void gv11b_init_gr(struct gpu_ops *gops) | 3029 | void gv11b_init_gr(struct gpu_ops *gops) |
3013 | { | 3030 | { |
3014 | gp10b_init_gr(gops); | 3031 | gp10b_init_gr(gops); |
@@ -3084,4 +3101,6 @@ void gv11b_init_gr(struct gpu_ops *gops) | |||
3084 | gops->gr.resume_from_pause = gv11b_gr_resume_from_pause; | 3101 | gops->gr.resume_from_pause = gv11b_gr_resume_from_pause; |
3085 | gops->gr.get_sm_hww_warp_esr = gv11b_gr_get_sm_hww_warp_esr; | 3102 | gops->gr.get_sm_hww_warp_esr = gv11b_gr_get_sm_hww_warp_esr; |
3086 | gops->gr.get_sm_hww_global_esr = gv11b_gr_get_sm_hww_global_esr; | 3103 | gops->gr.get_sm_hww_global_esr = gv11b_gr_get_sm_hww_global_esr; |
3104 | gops->gr.get_sm_no_lock_down_hww_global_esr_mask = | ||
3105 | gv11b_gr_get_sm_no_lock_down_hww_global_esr_mask; | ||
3087 | } | 3106 | } |