summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-06-02 23:04:18 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:06 -0500
commit910bb6ad0d326e13b16da5ee0d06f4007cc9439e (patch)
treea56622b569eb28ce8abaf5d79e629382a3d791ae /drivers/gpu/nvgpu/gp10b/gr_gp10b.c
parent477ca4b64888b02c211d0e0ea9d67544a88bd4b5 (diff)
gpu: nvgpu: gp10b: Set address check mode
Set address check mode for SM. Bug 1625763 Change-Id: I5ddf8334673b414956e57c55aaa5be1a9f9aeaf1 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/752139
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/gr_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
index 045847b2..265cad66 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
@@ -905,12 +905,24 @@ static void gr_gp10b_commit_global_bundle_cb(struct gk20a *g,
905 gr_gk20a_ctx_patch_write(g, ch_ctx, gr_pd_ab_dist_cfg2_r(), 905 gr_gk20a_ctx_patch_write(g, ch_ctx, gr_pd_ab_dist_cfg2_r(),
906 gr_pd_ab_dist_cfg2_token_limit_f(g->gr.bundle_cb_token_limit) | 906 gr_pd_ab_dist_cfg2_token_limit_f(g->gr.bundle_cb_token_limit) |
907 gr_pd_ab_dist_cfg2_state_limit_f(data), patch); 907 gr_pd_ab_dist_cfg2_state_limit_f(data), patch);
908}
909
910static int gr_gp10b_init_fs_state(struct gk20a *g)
911{
912 u32 data;
913
914 data = gk20a_readl(g, gr_gpcs_tpcs_sm_texio_control_r());
915 data = set_field(data, gr_gpcs_tpcs_sm_texio_control_oor_addr_check_mode_m(),
916 gr_gpcs_tpcs_sm_texio_control_oor_addr_check_mode_arm_63_48_match_f());
917 gk20a_writel(g, gr_gpcs_tpcs_sm_texio_control_r(), data);
908 918
919 return gr_gm20b_ctx_state_floorsweep(g);
909} 920}
910 921
911void gp10b_init_gr(struct gpu_ops *gops) 922void gp10b_init_gr(struct gpu_ops *gops)
912{ 923{
913 gm20b_init_gr(gops); 924 gm20b_init_gr(gops);
925 gops->gr.init_fs_state = gr_gp10b_init_fs_state;
914 gops->gr.is_valid_class = gr_gp10b_is_valid_class; 926 gops->gr.is_valid_class = gr_gp10b_is_valid_class;
915 gops->gr.commit_global_cb_manager = gr_gp10b_commit_global_cb_manager; 927 gops->gr.commit_global_cb_manager = gr_gp10b_commit_global_cb_manager;
916 gops->gr.commit_global_pagepool = gr_gp10b_commit_global_pagepool; 928 gops->gr.commit_global_pagepool = gr_gp10b_commit_global_pagepool;