diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/gr_gp10b.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c index 96070df7..1b88112e 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c | |||
@@ -476,17 +476,20 @@ static int gr_gp10b_alloc_gr_ctx(struct gk20a *g, | |||
476 | if (flags == NVGPU_GR_PREEMPTION_MODE_GFXP) { | 476 | if (flags == NVGPU_GR_PREEMPTION_MODE_GFXP) { |
477 | u32 spill_size = | 477 | u32 spill_size = |
478 | gr_gpc0_swdx_rm_spill_buffer_size_256b_default_v(); | 478 | gr_gpc0_swdx_rm_spill_buffer_size_256b_default_v(); |
479 | u32 betacb_size = ALIGN( | ||
480 | (gr_gpc0_ppc0_cbm_beta_cb_size_v_gfxp_v() * | ||
481 | gr_gpc0_ppc0_cbm_beta_cb_size_v_granularity_v() * | ||
482 | g->gr.max_tpc_count) + | ||
483 | (g->gr.alpha_cb_size * | ||
484 | gr_gpc0_ppc0_cbm_beta_cb_size_v_granularity_v() * | ||
485 | g->gr.max_tpc_count), | ||
486 | 128); | ||
487 | u32 pagepool_size = g->ops.gr.pagepool_default_size(g) * | 479 | u32 pagepool_size = g->ops.gr.pagepool_default_size(g) * |
488 | gr_scc_pagepool_total_pages_byte_granularity_v(); | 480 | gr_scc_pagepool_total_pages_byte_granularity_v(); |
489 | 481 | u32 betacb_size = g->gr.attrib_cb_default_size + | |
482 | (gr_gpc0_ppc0_cbm_beta_cb_size_v_gfxp_v() - | ||
483 | gr_gpc0_ppc0_cbm_beta_cb_size_v_default_v()); | ||
484 | u32 attrib_cb_size = (betacb_size + g->gr.alpha_cb_size) * | ||
485 | gr_gpc0_ppc0_cbm_beta_cb_size_v_granularity_v() * | ||
486 | g->gr.max_tpc_count; | ||
487 | attrib_cb_size = ALIGN(attrib_cb_size, 128); | ||
488 | |||
489 | gk20a_dbg_info("gfxp context spill_size=%d", spill_size); | ||
490 | gk20a_dbg_info("gfxp context pagepool_size=%d", pagepool_size); | ||
491 | gk20a_dbg_info("gfxp context attrib_cb_size=%d", | ||
492 | attrib_cb_size); | ||
490 | err = gk20a_gmmu_alloc_map(vm, g->gr.t18x.ctx_vars.preempt_image_size, | 493 | err = gk20a_gmmu_alloc_map(vm, g->gr.t18x.ctx_vars.preempt_image_size, |
491 | &(*gr_ctx)->t18x.preempt_ctxsw_buffer); | 494 | &(*gr_ctx)->t18x.preempt_ctxsw_buffer); |
492 | if (err) { | 495 | if (err) { |