[igt-dev] [PATCH i-g-t v3 4/4] lib/ioctl_wrapper: Use __gem_mmap within __gem_mmap__cpu/wc

Lukasz Kalamarz
2019-01-11T16:19:16Z

This patch remove duplicated code from __gem_mmap__cpu/wc functions
and instead use call to __gem_mmap function, which is doing exactly
the same work.

Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
Cc: Michal Winiarski <michal.winiarski@intel.com>
Cc: Katarzyna Dec <katarzyna.dec@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/ioctl_wrappers.c | 34 ++--------------------------------
1 file changed, 2 insertions(+), 32 deletions(-)

diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index e9225da0..19e59794 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -789,25 +789,7 @@ static void
*/
void *__gem_mmap__wc(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot)
{
- struct drm_i915_gem_mmap arg;
-
- if (!gem_mmap__has_wc(fd)) {
- errno = ENOSYS;
- return NULL;
- }
-
- memset(&arg, 0, sizeof(arg));
- arg.handle = handle;
- arg.offset = offset;
- arg.size = size;
- arg.flags = I915_MMAP_WC;
- if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_MMAP, &arg))
- return NULL;
-
- VG(VALGRIND_MAKE_MEM_DEFINED(from_user_pointer(arg.addr_ptr), arg.size));
-
- errno = 0;
- return from_user_pointer(arg.addr_ptr);
+ return __gem_mmap(fd, handle, offset, size, prot, I915_MMAP_WC);
}

/**
@@ -844,19 +826,7 @@ void *gem_mmap__wc(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsi
*/
void *__gem_mmap__cpu(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot)
{
- struct drm_i915_gem_mmap mmap_arg;
-
- memset(&mmap_arg, 0, sizeof(mmap_arg));
- mmap_arg.handle = handle;
- mmap_arg.offset = offset;
- mmap_arg.size = size;
- if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))
- return NULL;
-
- VG(VALGRIND_MAKE_MEM_DEFINED(from_user_pointer(mmap_arg.addr_ptr), mmap_arg.size));
-
- errno = 0;
- return from_user_pointer(mmap_arg.addr_ptr);
+ return __gem_mmap(fd, handle, offset, size, prot, 0);
}

/**
--
2.17.2