From d215bc1107a8a032d18e515e55d5e29c7192f15e Mon Sep 17 00:00:00 2001 From: Konsta Holtta Date: Fri, 20 May 2016 09:12:23 +0300 Subject: gpu: nvgpu: detect vidmem configuration from HW Read video memory size from hardware during initialization for devices that support it. JIRA DNVGPU-14 Change-Id: If190f2d89f7148520ee274ca674f972987c8056d Signed-off-by: Konsta Holtta Reviewed-on: http://git-master/r/1157215 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c') 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) mm->force_pramin = GK20A_FORCE_PRAMIN_DEFAULT; } +static int gk20a_init_vidmem(struct mm_gk20a *mm) +{ + struct gk20a *g = mm->g; + size_t size = g->ops.mm.get_vidmem_size ? + g->ops.mm.get_vidmem_size(g) : 0; + + if (!size) + return 0; + + mm->vidmem_size = size; + + return 0; +} + int gk20a_init_mm_setup_sw(struct gk20a *g) { struct mm_gk20a *mm = &g->mm; @@ -637,6 +651,7 @@ int gk20a_init_mm_setup_sw(struct gk20a *g) (int)(mm->channel.kernel_size >> 20)); gk20a_init_pramin(mm); + gk20a_init_vidmem(mm); err = gk20a_alloc_sysmem_flush(g); if (err) -- cgit v1.2.2