summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/mm/gmmu.c
diff options
context:
space:
mode:
authorDavid Nieto <dmartineznie@nvidia.com>2017-10-26 18:00:47 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-01 12:36:07 -0400
commit68dbfedd4f837d1bf2bab128500140f5d8cfadac (patch)
treee670938934170f955819a0a7b5ed73d2d2a63401 /drivers/gpu/nvgpu/common/mm/gmmu.c
parente9b77d72491fdf09e0ff54e4d5cf365861981162 (diff)
gpu: nvgpu: fix pte location functions
Modify the recursive loop in pte_find to make sure it is targeting the proper pde page size. JIRA NVGPUGV100-36 Change-Id: Ib3673d8d9f1bd3c907d532f9e2562ecdc5dda4af Signed-off-by: David Nieto <dmartineznie@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1586739 Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/mm/gmmu.c')
-rw-r--r--drivers/gpu/nvgpu/common/mm/gmmu.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/mm/gmmu.c b/drivers/gpu/nvgpu/common/mm/gmmu.c
index 1eed3a3b..d6aaf8cd 100644
--- a/drivers/gpu/nvgpu/common/mm/gmmu.c
+++ b/drivers/gpu/nvgpu/common/mm/gmmu.c
@@ -828,6 +828,11 @@ static int __nvgpu_locate_pte(struct gk20a *g, struct vm_gk20a *vm,
828 if (!pd_next->mem) 828 if (!pd_next->mem)
829 return -EINVAL; 829 return -EINVAL;
830 830
831 attrs->pgsz = l->get_pgsz(g, pd, pd_idx);
832
833 if (attrs->pgsz >= gmmu_nr_page_sizes)
834 return -EINVAL;
835
831 return __nvgpu_locate_pte(g, vm, pd_next, 836 return __nvgpu_locate_pte(g, vm, pd_next,
832 vaddr, lvl + 1, attrs, 837 vaddr, lvl + 1, attrs,
833 data, pd_out, pd_idx_out, 838 data, pd_out, pd_idx_out,