summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2015-10-12 18:24:25 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:09 -0500
commitb7de6b004be56e489879616a57bd65a1fbcb0ece (patch)
tree259a0ba7e550d9e3ce6550772a1a60df268973c9 /drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c
parentde2656300ae74df5075a3a7e38a701c8048af3b2 (diff)
gpu: nvgpu: vgpu: set correct page size index for gp10b
VM server only know big page and small page, so convert gmmu_page_size_kernel to according page size index. JIRA VFND-890 Change-Id: Id1f932752b8ca33d14635ac9d71019364aa89dc4 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: http://git-master/r/816359 (cherry picked from commit 5bfc4a2a55889f5457bd34aa06861c042ee67421) Reviewed-on: http://git-master/r/827131 GVS: Gerrit_Virtual_Submit Reviewed-by: Vladislav Buzov <vbuzov@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/vgpu/gp10b/vgpu_mm_gp10b.c13
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;