diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/as_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/as_gk20a.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/as_gk20a.c b/drivers/gpu/nvgpu/gk20a/as_gk20a.c index b6b38541..0571ca1f 100644 --- a/drivers/gpu/nvgpu/gk20a/as_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/as_gk20a.c | |||
@@ -279,13 +279,15 @@ static int gk20a_as_ioctl_get_va_regions( | |||
279 | 279 | ||
280 | for (i = 0; i < write_entries; ++i) { | 280 | for (i = 0; i < write_entries; ++i) { |
281 | struct nvgpu_as_va_region region; | 281 | struct nvgpu_as_va_region region; |
282 | struct gk20a_allocator *vma = vm->fixed.init ? | ||
283 | &vm->fixed : &vm->vma[i]; | ||
282 | 284 | ||
283 | memset(®ion, 0, sizeof(struct nvgpu_as_va_region)); | 285 | memset(®ion, 0, sizeof(struct nvgpu_as_va_region)); |
284 | 286 | ||
285 | region.page_size = vm->gmmu_page_sizes[i]; | 287 | region.page_size = vm->gmmu_page_sizes[i]; |
286 | region.offset = vm->vma[i].base; | 288 | region.offset = vma->base; |
287 | /* No __aeabi_uldivmod() on some platforms... */ | 289 | /* No __aeabi_uldivmod() on some platforms... */ |
288 | region.pages = (vm->vma[i].end - vm->vma[i].start) >> | 290 | region.pages = (vma->end - vma->start) >> |
289 | ilog2(region.page_size); | 291 | ilog2(region.page_size); |
290 | 292 | ||
291 | if (copy_to_user(user_region_ptr + i, ®ion, sizeof(region))) | 293 | if (copy_to_user(user_region_ptr + i, ®ion, sizeof(region))) |