mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 09:57:08 +03:00
gpu: nvgpu: Move sm_arch to nvgpu_gpu_params
Move sm_arch_* fields to nvgpu_gpu_params to make them available from common code without accessing Linux specific GPU characteristics. JIRA NVGPU-259 Change-Id: Ieffb2ddde81b27af53dfedb9fe3972d20757cc35 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1593686 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
dc5f6bcee0
commit
870e76fbc7
@@ -226,6 +226,10 @@ gk20a_ctrl_ioctl_gpu_characteristics(
|
||||
g->ops.mm.get_mmu_levels(g, pgpu->big_page_size)[0].lo_bit[0];
|
||||
pgpu->available_big_page_sizes = nvgpu_mm_get_available_big_page_sizes(g);
|
||||
|
||||
pgpu->sm_arch_sm_version = g->params.sm_arch_sm_version;
|
||||
pgpu->sm_arch_spa_version = g->params.sm_arch_spa_version;
|
||||
pgpu->sm_arch_warp_count = g->params.sm_arch_warp_count;
|
||||
|
||||
if (request->gpu_characteristics_buf_size > 0) {
|
||||
size_t write_size = sizeof(*pgpu);
|
||||
|
||||
|
||||
@@ -1075,6 +1075,11 @@ struct nvgpu_gpu_params {
|
||||
u32 gpu_impl;
|
||||
/* GPU revision ID */
|
||||
u32 gpu_rev;
|
||||
/* sm version */
|
||||
u32 sm_arch_sm_version;
|
||||
/* sm instruction set */
|
||||
u32 sm_arch_spa_version;
|
||||
u32 sm_arch_warp_count;
|
||||
};
|
||||
|
||||
struct gk20a {
|
||||
|
||||
@@ -841,11 +841,11 @@ void gr_gm20b_detect_sm_arch(struct gk20a *g)
|
||||
{
|
||||
u32 v = gk20a_readl(g, gr_gpc0_tpc0_sm_arch_r());
|
||||
|
||||
g->gpu_characteristics.sm_arch_spa_version =
|
||||
g->params.sm_arch_spa_version =
|
||||
gr_gpc0_tpc0_sm_arch_spa_version_v(v);
|
||||
g->gpu_characteristics.sm_arch_sm_version =
|
||||
g->params.sm_arch_sm_version =
|
||||
gr_gpc0_tpc0_sm_arch_sm_version_v(v);
|
||||
g->gpu_characteristics.sm_arch_warp_count =
|
||||
g->params.sm_arch_warp_count =
|
||||
gr_gpc0_tpc0_sm_arch_warp_count_v(v);
|
||||
}
|
||||
|
||||
@@ -1154,7 +1154,7 @@ void gr_gm20b_bpt_reg_info(struct gk20a *g, struct nvgpu_warpstate *w_state)
|
||||
|
||||
/* for maxwell & kepler */
|
||||
u32 numSmPerTpc = 1;
|
||||
u32 numWarpPerTpc = g->gpu_characteristics.sm_arch_warp_count * numSmPerTpc;
|
||||
u32 numWarpPerTpc = g->params.sm_arch_warp_count * numSmPerTpc;
|
||||
|
||||
for (sm_id = 0; sm_id < gr->no_of_sm; sm_id++) {
|
||||
gpc = g->gr.sm_to_cluster[sm_id].gpc_index;
|
||||
|
||||
@@ -37,11 +37,11 @@ void vgpu_gr_detect_sm_arch(struct gk20a *g)
|
||||
|
||||
gk20a_dbg_fn("");
|
||||
|
||||
g->gpu_characteristics.sm_arch_sm_version =
|
||||
g->params.sm_arch_sm_version =
|
||||
priv->constants.sm_arch_sm_version;
|
||||
g->gpu_characteristics.sm_arch_spa_version =
|
||||
g->params.sm_arch_spa_version =
|
||||
priv->constants.sm_arch_spa_version;
|
||||
g->gpu_characteristics.sm_arch_warp_count =
|
||||
g->params.sm_arch_warp_count =
|
||||
priv->constants.sm_arch_warp_count;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user