diff options
Diffstat (limited to 'drivers/mxc/gpu-viv')
-rw-r--r-- | drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_gfp.c | 6 | ||||
-rw-r--r-- | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_gfp.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_gfp.c index 937c7521ff0e..71a867c9302c 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_gfp.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_gfp.c @@ -926,6 +926,12 @@ _GFPMapKernel( addr = vmap(pages, numPages, 0, pgprot_writecombine(PAGE_KERNEL)); + /* Trigger a page fault. */ + for (i = 0; i < numPages; i++) + { + *(gctINT *)(addr + PAGE_SIZE * i) = 0; + } + if (free) { kfree(pages); diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c index bc316b3c0acb..7be6e7912bc4 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c @@ -1345,9 +1345,6 @@ gckOS_AllocateNonPagedMemory( gcmkONERROR(allocator->ops->MapKernel(allocator, mdl, &addr)); - /* Trigger a page fault. */ - memset(addr, 0, numPages * PAGE_SIZE); - mdl->addr = addr; if (InUserSpace) |