diff options
author | Tomasz Figa <tfiga@google.com> | 2015-12-14 19:46:34 +0900 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2018-03-28 17:08:32 +0100 |
commit | bb0fd5f3b30141e2049a31f9ccd3f806645b21e0 (patch) | |
tree | 1e7b81caef1b4574fe4fbf29a670fb423de2c94c | |
parent | 00aa37443f32ff22e439093bc4039c21c74d0d2e (diff) |
intel: Do not use libpciaccess on Android
This patch makes the code not rely anymore on libpciaccess when compiled
for Android to eliminate ioperm() and iopl() syscalls required by that
library. As a side effect, the mappable aperture size is hardcoded to 64
MiB on Android, however nothing seems to rely on this value anyway, as
checked be grepping relevant code in drm_gralloc and Mesa.
Cc: Rob Herring <rob.herring@linaro.org>
Signed-off-by: Tomasz Figa <tfiga@google.com>
[Emil Velikov: rebase against master. add missing __func__, Eric]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: John Stultz <john.stultz@linaro.org>
-rw-r--r-- | intel/Android.mk | 3 | ||||
-rw-r--r-- | intel/intel_bufmgr.c | 12 |
2 files changed, 13 insertions, 2 deletions
diff --git a/intel/Android.mk b/intel/Android.mk index 3f9db785..dd881688 100644 --- a/intel/Android.mk +++ b/intel/Android.mk @@ -33,8 +33,7 @@ LOCAL_MODULE := libdrm_intel LOCAL_SRC_FILES := $(LIBDRM_INTEL_FILES) LOCAL_SHARED_LIBRARIES := \ - libdrm \ - libpciaccess + libdrm include $(LIBDRM_COMMON_MK) include $(BUILD_SHARED_LIBRARY) diff --git a/intel/intel_bufmgr.c b/intel/intel_bufmgr.c index bede0a21..192de093 100644 --- a/intel/intel_bufmgr.c +++ b/intel/intel_bufmgr.c @@ -32,7 +32,9 @@ #include <errno.h> #include <drm.h> #include <i915_drm.h> +#ifndef __ANDROID__ #include <pciaccess.h> +#endif #include "libdrm_macros.h" #include "intel_bufmgr.h" #include "intel_bufmgr_priv.h" @@ -322,6 +324,7 @@ drm_intel_get_pipe_from_crtc_id(drm_intel_bufmgr *bufmgr, int crtc_id) return -1; } +#ifndef __ANDROID__ static size_t drm_intel_probe_agp_aperture_size(int fd) { @@ -347,6 +350,15 @@ err: pci_system_cleanup (); return size; } +#else +static size_t +drm_intel_probe_agp_aperture_size(int fd) +{ + /* Nothing seems to rely on this value on Android anyway... */ + fprintf(stderr, "%s: Mappable aperture size hardcoded to 64MiB\n", __func__); + return 64 * 1024 * 1024; +} +#endif int drm_intel_get_aperture_sizes(int fd, size_t *mappable, size_t *total) |