diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/gr_gp10b.c | 12 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h | 12 |
2 files changed, 24 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 | |||
910 | static 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 | ||
911 | void gp10b_init_gr(struct gpu_ops *gops) | 922 | void 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; |
diff --git a/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h b/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h index 32903fba..54d21eb3 100644 --- a/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/hw_gr_gp10b.h | |||
@@ -3758,4 +3758,16 @@ static inline u32 gr_fe_gfxp_wfi_timeout_count_disabled_f(void) | |||
3758 | { | 3758 | { |
3759 | return 0x0; | 3759 | return 0x0; |
3760 | } | 3760 | } |
3761 | static inline u32 gr_gpcs_tpcs_sm_texio_control_r(void) | ||
3762 | { | ||
3763 | return 0x00419c84; | ||
3764 | } | ||
3765 | static inline u32 gr_gpcs_tpcs_sm_texio_control_oor_addr_check_mode_f(u32 v) | ||
3766 | { | ||
3767 | return (v & 0x7) << 8; | ||
3768 | } | ||
3769 | static inline u32 gr_gpcs_tpcs_sm_texio_control_oor_addr_check_mode_arm_63_48_match_f(void) | ||
3770 | { | ||
3771 | return 0x100; | ||
3772 | } | ||
3761 | #endif | 3773 | #endif |