diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2016-08-23 05:37:53 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-09-01 12:12:08 -0400 |
commit | 737d6346307ad7e87c0195f6e2e5d52cf4c3dd3b (patch) | |
tree | 8830c468a46e89847435cf56d55cc6ff83815fd3 /drivers/gpu/nvgpu/gk20a | |
parent | 4f6c98989885bc145e16ab136c96b7c8eef2d521 (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')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 5 |
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); |