diff options
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c index 0a769e94..3a286249 100644 --- a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c +++ b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c | |||
@@ -134,6 +134,19 @@ static u64 vgpu_gp10b_locked_gmmu_map(struct vm_gk20a *vm, | |||
134 | else | 134 | else |
135 | prot = TEGRA_VGPU_MAP_PROT_NONE; | 135 | prot = TEGRA_VGPU_MAP_PROT_NONE; |
136 | 136 | ||
137 | if (pgsz_idx == gmmu_page_size_kernel) { | ||
138 | if (page_size == vm->gmmu_page_sizes[gmmu_page_size_small]) { | ||
139 | pgsz_idx = gmmu_page_size_small; | ||
140 | } else if (page_size == | ||
141 | vm->gmmu_page_sizes[gmmu_page_size_big]) { | ||
142 | pgsz_idx = gmmu_page_size_big; | ||
143 | } else { | ||
144 | gk20a_err(d, "invalid kernel page size %d\n", | ||
145 | page_size); | ||
146 | goto fail; | ||
147 | } | ||
148 | } | ||
149 | |||
137 | msg.cmd = TEGRA_VGPU_CMD_AS_MAP_EX; | 150 | msg.cmd = TEGRA_VGPU_CMD_AS_MAP_EX; |
138 | msg.handle = platform->virt_handle; | 151 | msg.handle = platform->virt_handle; |
139 | p->handle = vm->handle; | 152 | p->handle = vm->handle; |