diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/nvgpu_mem.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/nvgpu_mem.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/nvgpu_mem.c b/drivers/gpu/nvgpu/common/linux/nvgpu_mem.c index 79098eca..e4b4be06 100644 --- a/drivers/gpu/nvgpu/common/linux/nvgpu_mem.c +++ b/drivers/gpu/nvgpu/common/linux/nvgpu_mem.c | |||
@@ -61,6 +61,8 @@ u32 nvgpu_aperture_mask(struct gk20a *g, struct nvgpu_mem *mem, | |||
61 | int nvgpu_mem_begin(struct gk20a *g, struct nvgpu_mem *mem) | 61 | int nvgpu_mem_begin(struct gk20a *g, struct nvgpu_mem *mem) |
62 | { | 62 | { |
63 | void *cpu_va; | 63 | void *cpu_va; |
64 | pgprot_t prot = nvgpu_is_enabled(g, NVGPU_DMA_COHERENT) ? PAGE_KERNEL : | ||
65 | pgprot_writecombine(PAGE_KERNEL); | ||
64 | 66 | ||
65 | if (mem->aperture != APERTURE_SYSMEM || g->mm.force_pramin) | 67 | if (mem->aperture != APERTURE_SYSMEM || g->mm.force_pramin) |
66 | return 0; | 68 | return 0; |
@@ -80,7 +82,7 @@ int nvgpu_mem_begin(struct gk20a *g, struct nvgpu_mem *mem) | |||
80 | 82 | ||
81 | cpu_va = vmap(mem->priv.pages, | 83 | cpu_va = vmap(mem->priv.pages, |
82 | PAGE_ALIGN(mem->size) >> PAGE_SHIFT, | 84 | PAGE_ALIGN(mem->size) >> PAGE_SHIFT, |
83 | 0, pgprot_writecombine(PAGE_KERNEL)); | 85 | 0, prot); |
84 | 86 | ||
85 | if (WARN_ON(!cpu_va)) | 87 | if (WARN_ON(!cpu_va)) |
86 | return -ENOMEM; | 88 | return -ENOMEM; |