[PATCH 0/2 v3] drm/exynos: added userptr feature
inki.dae at samsung.com
Tue May 8 23:17:37 PDT 2012
this feature could be used to use memory region allocated by malloc() in user
mode and mmaped memory region allocated by other memory allocators. userptr
interface can identify memory type through vm_flags value and would get
pages or page frame numbers to user space appropriately.
the memory region mmaped with VM_PFNMAP type is physically continuous and
start address of the memory region should be set into buf->dma_addr but
previous patch had a problem that end address is set into buf->dma_addr
so v2 fixes that problem.
mitigated the issues pointed out by Dave and Jerome.
for this, added some codes to guarantee the pages to user space not
to be swapped out, the VMAs within the user space would be locked and
then unlocked when the pages are released.
but this lock might result in significant degradation of system performance
because the pages couldn't be swapped out so added one more feature
that we can limit user-desired userptr size to pre-defined value using
userptr limit ioctl that can be accessed by only root user.
these issues had been pointed out by Dave and Jerome.
Inki Dae (2):
drm/exynos: added userptr limit ioctl.
drm/exynos: added userptr feature.
drivers/gpu/drm/exynos/exynos_drm_drv.c | 8 +
drivers/gpu/drm/exynos/exynos_drm_drv.h | 6 +
drivers/gpu/drm/exynos/exynos_drm_gem.c | 356 +++++++++++++++++++++++++++++++
drivers/gpu/drm/exynos/exynos_drm_gem.h | 20 ++-
include/drm/exynos_drm.h | 43 ++++-
5 files changed, 430 insertions(+), 3 deletions(-)
More information about the dri-devel