diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-06-22 15:55:17 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-06-30 21:34:59 -0400 |
commit | 001c7c3185d9b087f89f48a41bee27d2d06721f6 (patch) | |
tree | c869be82279688a5dbe5d1145da09ca2323aef92 /drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |
parent | 82c0c96290602b1baf296133c7f55ae1848e433a (diff) |
gpu: nvgpu: Per chip default big page size
Make default big page size query a HAL op instead of per-platform
constant. This allows querying for default big page size without
accessing Linux specific gk20a_platform structure.
JIRA NVGPU-38
Change-Id: Ibfbd1319764fdae5fdb06700fb64d23f6f3dd01a
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master/r/1507928
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index fa6b5109..52053c14 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |||
@@ -2124,7 +2124,7 @@ static int gk20a_init_bar1_vm(struct mm_gk20a *mm) | |||
2124 | int err; | 2124 | int err; |
2125 | struct gk20a *g = gk20a_from_mm(mm); | 2125 | struct gk20a *g = gk20a_from_mm(mm); |
2126 | struct nvgpu_mem *inst_block = &mm->bar1.inst_block; | 2126 | struct nvgpu_mem *inst_block = &mm->bar1.inst_block; |
2127 | u32 big_page_size = gk20a_get_platform(g->dev)->default_big_page_size; | 2127 | u32 big_page_size = g->ops.mm.get_default_big_page_size(); |
2128 | 2128 | ||
2129 | mm->bar1.aperture_size = bar1_aperture_size_mb_gk20a() << 20; | 2129 | mm->bar1.aperture_size = bar1_aperture_size_mb_gk20a() << 20; |
2130 | gk20a_dbg_info("bar1 vm size = 0x%x", mm->bar1.aperture_size); | 2130 | gk20a_dbg_info("bar1 vm size = 0x%x", mm->bar1.aperture_size); |
@@ -2156,7 +2156,7 @@ static int gk20a_init_system_vm(struct mm_gk20a *mm) | |||
2156 | int err; | 2156 | int err; |
2157 | struct gk20a *g = gk20a_from_mm(mm); | 2157 | struct gk20a *g = gk20a_from_mm(mm); |
2158 | struct nvgpu_mem *inst_block = &mm->pmu.inst_block; | 2158 | struct nvgpu_mem *inst_block = &mm->pmu.inst_block; |
2159 | u32 big_page_size = gk20a_get_platform(g->dev)->default_big_page_size; | 2159 | u32 big_page_size = g->ops.mm.get_default_big_page_size(); |
2160 | u32 low_hole, aperture_size; | 2160 | u32 low_hole, aperture_size; |
2161 | 2161 | ||
2162 | /* | 2162 | /* |
@@ -2207,7 +2207,7 @@ static int gk20a_init_hwpm(struct mm_gk20a *mm) | |||
2207 | static int gk20a_init_cde_vm(struct mm_gk20a *mm) | 2207 | static int gk20a_init_cde_vm(struct mm_gk20a *mm) |
2208 | { | 2208 | { |
2209 | struct gk20a *g = gk20a_from_mm(mm); | 2209 | struct gk20a *g = gk20a_from_mm(mm); |
2210 | u32 big_page_size = gk20a_get_platform(g->dev)->default_big_page_size; | 2210 | u32 big_page_size = g->ops.mm.get_default_big_page_size(); |
2211 | 2211 | ||
2212 | mm->cde.vm = nvgpu_vm_init(g, big_page_size, | 2212 | mm->cde.vm = nvgpu_vm_init(g, big_page_size, |
2213 | big_page_size << 10, | 2213 | big_page_size << 10, |
@@ -2222,7 +2222,7 @@ static int gk20a_init_cde_vm(struct mm_gk20a *mm) | |||
2222 | static int gk20a_init_ce_vm(struct mm_gk20a *mm) | 2222 | static int gk20a_init_ce_vm(struct mm_gk20a *mm) |
2223 | { | 2223 | { |
2224 | struct gk20a *g = gk20a_from_mm(mm); | 2224 | struct gk20a *g = gk20a_from_mm(mm); |
2225 | u32 big_page_size = gk20a_get_platform(g->dev)->default_big_page_size; | 2225 | u32 big_page_size = g->ops.mm.get_default_big_page_size(); |
2226 | 2226 | ||
2227 | mm->ce.vm = nvgpu_vm_init(g, big_page_size, | 2227 | mm->ce.vm = nvgpu_vm_init(g, big_page_size, |
2228 | big_page_size << 10, | 2228 | big_page_size << 10, |