diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index 6505015f..60c1b7ea 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |||
@@ -613,6 +613,20 @@ static void gk20a_init_pramin(struct mm_gk20a *mm) | |||
613 | mm->force_pramin = GK20A_FORCE_PRAMIN_DEFAULT; | 613 | mm->force_pramin = GK20A_FORCE_PRAMIN_DEFAULT; |
614 | } | 614 | } |
615 | 615 | ||
616 | static int gk20a_init_vidmem(struct mm_gk20a *mm) | ||
617 | { | ||
618 | struct gk20a *g = mm->g; | ||
619 | size_t size = g->ops.mm.get_vidmem_size ? | ||
620 | g->ops.mm.get_vidmem_size(g) : 0; | ||
621 | |||
622 | if (!size) | ||
623 | return 0; | ||
624 | |||
625 | mm->vidmem_size = size; | ||
626 | |||
627 | return 0; | ||
628 | } | ||
629 | |||
616 | int gk20a_init_mm_setup_sw(struct gk20a *g) | 630 | int gk20a_init_mm_setup_sw(struct gk20a *g) |
617 | { | 631 | { |
618 | struct mm_gk20a *mm = &g->mm; | 632 | struct mm_gk20a *mm = &g->mm; |
@@ -637,6 +651,7 @@ int gk20a_init_mm_setup_sw(struct gk20a *g) | |||
637 | (int)(mm->channel.kernel_size >> 20)); | 651 | (int)(mm->channel.kernel_size >> 20)); |
638 | 652 | ||
639 | gk20a_init_pramin(mm); | 653 | gk20a_init_pramin(mm); |
654 | gk20a_init_vidmem(mm); | ||
640 | 655 | ||
641 | err = gk20a_alloc_sysmem_flush(g); | 656 | err = gk20a_alloc_sysmem_flush(g); |
642 | if (err) | 657 | if (err) |