summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2016-08-23 05:37:53 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-09-01 12:12:08 -0400
commit737d6346307ad7e87c0195f6e2e5d52cf4c3dd3b (patch)
tree8830c468a46e89847435cf56d55cc6ff83815fd3 /drivers/gpu/nvgpu/gk20a/mm_gk20a.c
parent4f6c98989885bc145e16ab136c96b7c8eef2d521 (diff)
gpu: nvgpu: make default vidmem page size of 64k
Allocate 64k pages for vidmem by default Also make sure that base address of vidmem is aligned to page size Jira DNVGPU-20 Change-Id: Ie2e5111f942467754db5b45f1518d72c925d3d19 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1206405 (cherry picked from commit 542ebf7f571ba6dc631466e562f7d8e05df4a9a6) Reviewed-on: http://git-master/r/1210958 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 553b3ac5..81fa38bb 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -862,6 +862,7 @@ static int gk20a_init_vidmem(struct mm_gk20a *mm)
862 size_t size = g->ops.mm.get_vidmem_size ? 862 size_t size = g->ops.mm.get_vidmem_size ?
863 g->ops.mm.get_vidmem_size(g) : 0; 863 g->ops.mm.get_vidmem_size(g) : 0;
864 u64 bootstrap_base, bootstrap_size, base; 864 u64 bootstrap_base, bootstrap_size, base;
865 u64 default_page_size = SZ_64K;
865 int err; 866 int err;
866 867
867 if (!size) 868 if (!size)
@@ -869,7 +870,7 @@ static int gk20a_init_vidmem(struct mm_gk20a *mm)
869 870
870 bootstrap_base = NVGPU_VIDMEM_BOOTSTRAP_ALLOCATOR_BASE; 871 bootstrap_base = NVGPU_VIDMEM_BOOTSTRAP_ALLOCATOR_BASE;
871 bootstrap_size = SZ_16M; 872 bootstrap_size = SZ_16M;
872 base = SZ_4K; 873 base = default_page_size;
873 874
874 /* 875 /*
875 * Bootstrap allocator for use before the CE is initialized (CE 876 * Bootstrap allocator for use before the CE is initialized (CE
@@ -882,7 +883,7 @@ static int gk20a_init_vidmem(struct mm_gk20a *mm)
882 SZ_4K, 0); 883 SZ_4K, 0);
883 884
884 err = gk20a_page_allocator_init(&g->mm.vidmem.allocator, "vidmem", 885 err = gk20a_page_allocator_init(&g->mm.vidmem.allocator, "vidmem",
885 base, size - base, SZ_4K, 0); 886 base, size - base, default_page_size, 0);
886 if (err) { 887 if (err) {
887 gk20a_err(d, "Failed to register vidmem for size %zu: %d", 888 gk20a_err(d, "Failed to register vidmem for size %zu: %d",
888 size, err); 889 size, err);