diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.c | 13 |
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 | ||
1654 | static 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 | ||
1655 | void gv11b_init_gr(struct gpu_ops *gops) | 1667 | void 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; |