i965: use mmap64 for Android
authorRob Herring <robh@kernel.org>
Tue, 23 May 2017 19:43:30 +0000 (14:43 -0500)
committerRob Herring <robh@kernel.org>
Thu, 25 May 2017 20:01:28 +0000 (15:01 -0500)
Simplify the handling of mmap for Android by using mmap64 instead. mmap64
may have not existed for Android when this was written, but it's been
around since 2013.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>
src/mesa/drivers/dri/i965/libdrm_macros.h

index 8be103c5b7ac7358c143b5dfe15e94384aa51f22..2cb76d585aca454571f37fe99e6d603d28433895 100644 (file)
 #include <sys/mman.h>
 
 #if defined(ANDROID) && !defined(__LP64__)
-#include <errno.h> /* for EINVAL */
-
-extern void *__mmap2(void *, size_t, int, int, int, size_t);
-
-static inline void *drm_mmap(void *addr, size_t length, int prot, int flags,
-                             int fd, loff_t offset)
-{
-   /* offset must be aligned to 4096 (not necessarily the page size) */
-   if (offset & 4095) {
-      errno = EINVAL;
-      return MAP_FAILED;
-   }
-
-   return __mmap2(addr, length, prot, flags, fd, (size_t) (offset >> 12));
-}
+/* 32-bit needs mmap64 for 64-bit offsets */
+#  define drm_mmap(addr, length, prot, flags, fd, offset) \
+              mmap64(addr, length, prot, flags, fd, offset)
 
 #  define drm_munmap(addr, length) \
               munmap(addr, length)
 
-
 #else
 
 /* assume large file support exists */