diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 501a7deb..a9d794c2 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5891,8 +5891,8 @@ int gr_gk20a_get_ctx_buffer_offsets(struct gk20a *g, | |||
5891 | u32 *priv_registers; | 5891 | u32 *priv_registers; |
5892 | u32 num_registers = 0; | 5892 | u32 num_registers = 0; |
5893 | int err = 0; | 5893 | int err = 0; |
5894 | u32 potential_offsets = proj_scal_litter_num_gpcs_v() * | 5894 | struct gr_gk20a *gr = &g->gr; |
5895 | proj_scal_litter_num_tpc_per_gpc_v(); | 5895 | u32 potential_offsets = gr->max_gpc_count * gr->max_tpc_per_gpc_count; |
5896 | 5896 | ||
5897 | gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg, "addr=0x%x", addr); | 5897 | gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg, "addr=0x%x", addr); |
5898 | 5898 | ||
@@ -6190,6 +6190,7 @@ static int gr_gk20a_find_priv_offset_in_ext_buffer(struct gk20a *g, | |||
6190 | u32 marker_size = 0; | 6190 | u32 marker_size = 0; |
6191 | u32 control_register_stride = 0; | 6191 | u32 control_register_stride = 0; |
6192 | u32 perf_register_stride = 0; | 6192 | u32 perf_register_stride = 0; |
6193 | struct gr_gk20a *gr = &g->gr; | ||
6193 | 6194 | ||
6194 | /* Only have TPC registers in extended region, so if not a TPC reg, | 6195 | /* Only have TPC registers in extended region, so if not a TPC reg, |
6195 | then return error so caller can look elsewhere. */ | 6196 | then return error so caller can look elsewhere. */ |
@@ -6329,7 +6330,7 @@ static int gr_gk20a_find_priv_offset_in_ext_buffer(struct gk20a *g, | |||
6329 | * max tpc count for the gpcs,in 256b chunks. | 6330 | * max tpc count for the gpcs,in 256b chunks. |
6330 | */ | 6331 | */ |
6331 | 6332 | ||
6332 | max_tpc_count = proj_scal_litter_num_tpc_per_gpc_v(); | 6333 | max_tpc_count = gr->max_tpc_per_gpc_count; |
6333 | 6334 | ||
6334 | num_ext_gpccs_ext_buffer_segments = (u32)((max_tpc_count + 1) / 2); | 6335 | num_ext_gpccs_ext_buffer_segments = (u32)((max_tpc_count + 1) / 2); |
6335 | 6336 | ||
@@ -6731,8 +6732,8 @@ int gr_gk20a_exec_ctx_ops(struct channel_gk20a *ch, | |||
6731 | void *ctx_ptr = NULL; | 6732 | void *ctx_ptr = NULL; |
6732 | bool ch_is_curr_ctx, restart_gr_ctxsw = false; | 6733 | bool ch_is_curr_ctx, restart_gr_ctxsw = false; |
6733 | u32 i, j, offset, v; | 6734 | u32 i, j, offset, v; |
6734 | u32 max_offsets = proj_scal_litter_num_gpcs_v() * | 6735 | struct gr_gk20a *gr = &g->gr; |
6735 | proj_scal_litter_num_tpc_per_gpc_v(); | 6736 | u32 max_offsets = gr->max_gpc_count * gr->max_tpc_per_gpc_count; |
6736 | u32 *offsets = NULL; | 6737 | u32 *offsets = NULL; |
6737 | u32 *offset_addrs = NULL; | 6738 | u32 *offset_addrs = NULL; |
6738 | u32 ctx_op_nr, num_ctx_ops[2] = {num_ctx_wr_ops, num_ctx_rd_ops}; | 6739 | u32 ctx_op_nr, num_ctx_ops[2] = {num_ctx_wr_ops, num_ctx_rd_ops}; |