summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index d8b79bac..4274a800 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -1651,11 +1651,24 @@ void gr_gv11b_program_zcull_mapping(struct gk20a *g, u32 zcull_num_entries,
1651 } 1651 }
1652} 1652}
1653 1653
1654static void gr_gv11b_detect_sm_arch(struct gk20a *g)
1655{
1656 u32 v = gk20a_readl(g, gr_gpc0_tpc0_sm_arch_r());
1657
1658 g->gpu_characteristics.sm_arch_spa_version =
1659 gr_gpc0_tpc0_sm_arch_spa_version_v(v);
1660 g->gpu_characteristics.sm_arch_sm_version =
1661 gr_gpc0_tpc0_sm_arch_sm_version_v(v);
1662 g->gpu_characteristics.sm_arch_warp_count =
1663 gr_gpc0_tpc0_sm_arch_warp_count_v(v);
1664
1665}
1654 1666
1655void gv11b_init_gr(struct gpu_ops *gops) 1667void gv11b_init_gr(struct gpu_ops *gops)
1656{ 1668{
1657 gp10b_init_gr(gops); 1669 gp10b_init_gr(gops);
1658 gops->gr.init_fs_state = gr_gv11b_init_fs_state; 1670 gops->gr.init_fs_state = gr_gv11b_init_fs_state;
1671 gops->gr.detect_sm_arch = gr_gv11b_detect_sm_arch;
1659 gops->gr.is_valid_class = gr_gv11b_is_valid_class; 1672 gops->gr.is_valid_class = gr_gv11b_is_valid_class;
1660 gops->gr.commit_global_cb_manager = gr_gv11b_commit_global_cb_manager; 1673 gops->gr.commit_global_cb_manager = gr_gv11b_commit_global_cb_manager;
1661 gops->gr.commit_global_pagepool = gr_gv11b_commit_global_pagepool; 1674 gops->gr.commit_global_pagepool = gr_gv11b_commit_global_pagepool;