[Intel-gfx] [PATCH i-g-t 1/2] igt: Remove Android support
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Mon Nov 27 14:42:39 UTC 2017
On 24.11.2017 17:17, Arkadiusz Hiler wrote:
> This patch gets rid of the Android support, deleting all the hacks and
> moving code around to the places it belongs.
>
> Android build is not really maintained properly and rots rather fast.
> With recent push for Meson here and Android going for Soong it will only
> accelerate.
>
> It's a good time to drop the illusion of providing any support.
>
> Cc: Daniel Vetter <daniel.vetter at intel.com>
> Cc: Kalyan Kondapally <kalyan.kondapally at intel.com>
> Cc: Petri Latvala <petri.latvala at intel.com>
> Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg at intel.com>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
> ---
> Android.mk | 4 --
> assembler/ralloc.c | 5 ---
> benchmarks/Android.mk | 46 ---------------------
> benchmarks/gem_syslatency.c | 2 -
> lib/Android.mk | 53 ------------------------
> lib/drmtest.h | 16 --------
> lib/igt_aux.c | 95 --------------------------------------------
> lib/igt_aux.h | 5 ---
> lib/igt_core.c | 68 -------------------------------
> lib/igt_debugfs.c | 25 +-----------
> lib/igt_fb.h | 7 ----
> lib/igt_kmod.h | 4 --
> lib/igt_kms.c | 89 +++++++++++++++++++++++++++++++++++++++++
> lib/tests/Android.mk | 41 -------------------
> tests/Android.mk | 83 --------------------------------------
> tests/core_get_client_auth.c | 4 +-
> tests/gem_exec_nop.c | 4 --
> tools/Android.mk | 82 --------------------------------------
> 18 files changed, 91 insertions(+), 542 deletions(-)
> delete mode 100644 Android.mk
> delete mode 100644 benchmarks/Android.mk
> delete mode 100644 lib/Android.mk
> delete mode 100644 lib/tests/Android.mk
> delete mode 100644 tests/Android.mk
> delete mode 100644 tools/Android.mk
>
> diff --git a/Android.mk b/Android.mk
> deleted file mode 100644
> index 3690fc5a..00000000
> --- a/Android.mk
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -HAVE_LIBDRM_INTEL := true
> -
> -include $(call all-named-subdir-makefiles, lib tests tools benchmarks)
> -
> diff --git a/assembler/ralloc.c b/assembler/ralloc.c
> index 59e71c48..69c1da4d 100644
> --- a/assembler/ralloc.c
> +++ b/assembler/ralloc.c
> @@ -28,11 +28,6 @@
> #include <string.h>
> #include <stdint.h>
>
> -/* Android defines SIZE_MAX in limits.h, instead of the standard stdint.h */
> -#ifdef ANDROID
> -#include <limits.h>
> -#endif
> -
> /* Some versions of MinGW are missing _vscprintf's declaration, although they
> * still provide the symbol in the import library. */
> #ifdef __MINGW32__
> diff --git a/benchmarks/Android.mk b/benchmarks/Android.mk
> deleted file mode 100644
> index 4ea275c4..00000000
> --- a/benchmarks/Android.mk
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -LOCAL_PATH := $(call my-dir)
> -
> -include $(LOCAL_PATH)/Makefile.sources
> -IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
> -
> -#================#
> -
> -define add_benchmark
> - include $(CLEAR_VARS)
> -
> - LOCAL_SRC_FILES := $1.c
> -
> - LOCAL_C_INCLUDES = ${IGT_LOCAL_C_INCLUDES} \
> - $(LOCAL_PATH)/../lib/stubs/drm/
> - LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM
> - LOCAL_CFLAGS += -DANDROID -UNDEBUG -include "check-ndebug.h"
> - LOCAL_CFLAGS += -std=gnu99
> - # FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
> - LOCAL_CFLAGS += -Wno-error=return-type
> - # Excessive complaining for established cases. Rely on the Linux version warnings.
> - LOCAL_CFLAGS += -Wno-sign-compare
> - LOCAL_LDFLAGS += -lkmod
> -
> - LOCAL_MODULE := $1_benchmark
> - LOCAL_MODULE_TAGS := optional
> - LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/intel/validation/core/igt/benchmarks
> -
> - LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
> -
> - LOCAL_SHARED_LIBRARIES := libpciaccess \
> - libkmod \
> - libdrm \
> - libdrm_intel
> -
> - include $(BUILD_EXECUTABLE)
> -endef
> -
> -#================#
> -
> -benchmark_list := $(benchmarks_prog_list)
> -
> -ifeq ($(HAVE_LIBDRM_INTEL),true)
> - benchmark_list += $(LIBDRM_INTEL_BENCHMARKS)
> -endif
> -
> -$(foreach item,$(benchmark_list),$(eval $(call add_benchmark,$(item))))
> diff --git a/benchmarks/gem_syslatency.c b/benchmarks/gem_syslatency.c
> index 580edc5f..de59eaf8 100644
> --- a/benchmarks/gem_syslatency.c
> +++ b/benchmarks/gem_syslatency.c
> @@ -219,7 +219,6 @@ static void *sys_thp_alloc(void *arg)
> static void bind_cpu(pthread_attr_t *attr, int cpu)
> {
> #ifdef __USE_GNU
> -#ifndef ANDROID
> cpu_set_t mask;
>
> if (cpu == -1)
> @@ -230,7 +229,6 @@ static void bind_cpu(pthread_attr_t *attr, int cpu)
>
> pthread_attr_setaffinity_np(attr, sizeof(mask), &mask);
> #endif
> -#endif
> }
>
> static void rtprio(pthread_attr_t *attr, int prio)
> diff --git a/lib/Android.mk b/lib/Android.mk
> deleted file mode 100644
> index 31f88be7..00000000
> --- a/lib/Android.mk
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -LOCAL_PATH := $(call my-dir)
> -
> -GPU_TOOLS_PATH := $(LOCAL_PATH)/..
> -IGT_LIB_PATH := $(LOCAL_PATH)
> -
> -# FIXME: autogenerate this info #
> -$(GPU_TOOLS_PATH)/config.h:
> - @echo "updating config.h"
> - @echo '#define PACKAGE_VERSION "1.5"' >> $@ ; \
> - echo '#define TARGET_CPU_PLATFORM "android-ia"' >> $@ ;
> -
> -include $(LOCAL_PATH)/Makefile.sources
> -
> -include $(CLEAR_VARS)
> -
> -LOCAL_GENERATED_SOURCES := \
> - $(IGT_LIB_PATH)/version.h \
> - $(GPU_TOOLS_PATH)/config.h
> -
> -LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \
> - $(LOCAL_PATH)/stubs/drm/
> -
> -LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
> -
> -LOCAL_CFLAGS += -DHAVE_LIBDRM_ATOMIC_PRIMITIVES
> -LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM
> -LOCAL_CFLAGS += -DANDROID -DHAVE_LINUX_KD_H
> -LOCAL_CFLAGS += -std=gnu99 -UNDEBUG
> -LOCAL_MODULE:= libintel_gpu_tools
> -
> -LOCAL_SHARED_LIBRARIES := libpciaccess \
> - libkmod \
> - libdrm \
> - libdrm_intel
> -
> -ifeq ("${ANDROID_HAS_CAIRO}", "1")
> - skip_lib_list :=
> - LOCAL_C_INCLUDES += $(ANDROID_BUILD_TOP)/external/cairo-1.12.16/src
> - LOCAL_CFLAGS += -DANDROID_HAS_CAIRO=1 -DIGT_DATADIR=\".\" -DIGT_SRCDIR=\".\"
> -else
> -skip_lib_list := \
> - igt_kms.c \
> - igt_kms.h \
> - igt_fb.c
> - -DANDROID_HAS_CAIRO=0
> -endif
> -
> -LOCAL_SRC_FILES := $(filter-out %.h $(skip_lib_list),$(lib_source_list))
> -
> -include $(BUILD_STATIC_LIBRARY)
> -
> -include $(call first-makefiles-under, $(LOCAL_PATH))
> -
> diff --git a/lib/drmtest.h b/lib/drmtest.h
> index a86799d5..fdd34ec6 100644
> --- a/lib/drmtest.h
> +++ b/lib/drmtest.h
> @@ -51,22 +51,6 @@
> */
> #define DRIVER_ANY ~(DRIVER_VGEM)
>
> -
> -#ifdef ANDROID
> -#if (!(defined HAVE_MMAP64)) && (!(defined __x86_64__))
> -extern void* __mmap2(void *, size_t, int, int, int, off_t);
> -
> -/* mmap64 is a recent addition to bionic and not available in all android builds. */
> -/* I can find no reliable way to know if it is defined or not - so just avoid it */
> -#define mmap64 igt_mmap64
> -static inline void *igt_mmap64(void *addr, size_t length, int prot, int flags,
> - int fd, off64_t offset)
> -{
> - return __mmap2(addr, length, prot, flags, fd, offset >> 12);
> -}
> -#endif
> -#endif
> -
> /**
> * ARRAY_SIZE:
> * @arr: static array
> diff --git a/lib/igt_aux.c b/lib/igt_aux.c
> index 0bcf792c..a41ae2f1 100644
> --- a/lib/igt_aux.c
> +++ b/lib/igt_aux.c
> @@ -1085,101 +1085,6 @@ void igt_debug_manual_check(const char *var, const char *expected)
> igt_assert(key != 'n' && key != 'N');
> }
>
> -/* Functions with prefix kmstest_ independent of cairo library are pulled out
> - * from file igt_kms.c since this file is skipped in lib/Android.mk when flag
> - * ANDROID_HAS_CAIRO is 0. This ensures the usability of these functions even
> - * when cairo library is not present on Android.
> - */
> -
> -struct type_name {
> - int type;
> - const char *name;
> -};
> -
> -static const char *find_type_name(const struct type_name *names, int type)
> -{
> - for (; names->name; names++) {
> - if (names->type == type)
> - return names->name;
> - }
> -
> - return "(invalid)";
> -}
> -
> -static const struct type_name encoder_type_names[] = {
> - { DRM_MODE_ENCODER_NONE, "none" },
> - { DRM_MODE_ENCODER_DAC, "DAC" },
> - { DRM_MODE_ENCODER_TMDS, "TMDS" },
> - { DRM_MODE_ENCODER_LVDS, "LVDS" },
> - { DRM_MODE_ENCODER_TVDAC, "TVDAC" },
> - { DRM_MODE_ENCODER_VIRTUAL, "Virtual" },
> - { DRM_MODE_ENCODER_DSI, "DSI" },
> - { DRM_MODE_ENCODER_DPMST, "DP MST" },
> - {}
> -};
> -
> -/**
> - * kmstest_encoder_type_str:
> - * @type: DRM_MODE_ENCODER_* enumeration value
> - *
> - * Returns: A string representing the drm encoder @type.
> - */
> -const char *kmstest_encoder_type_str(int type)
> -{
> - return find_type_name(encoder_type_names, type);
> -}
> -
> -static const struct type_name connector_status_names[] = {
> - { DRM_MODE_CONNECTED, "connected" },
> - { DRM_MODE_DISCONNECTED, "disconnected" },
> - { DRM_MODE_UNKNOWNCONNECTION, "unknown" },
> - {}
> -};
> -
> -/**
> - * kmstest_connector_status_str:
> - * @status: DRM_MODE_* connector status value
> - *
> - * Returns: A string representing the drm connector status @status.
> - */
> -const char *kmstest_connector_status_str(int status)
> -{
> - return find_type_name(connector_status_names, status);
> -}
> -
> -static const struct type_name connector_type_names[] = {
> - { DRM_MODE_CONNECTOR_Unknown, "Unknown" },
> - { DRM_MODE_CONNECTOR_VGA, "VGA" },
> - { DRM_MODE_CONNECTOR_DVII, "DVI-I" },
> - { DRM_MODE_CONNECTOR_DVID, "DVI-D" },
> - { DRM_MODE_CONNECTOR_DVIA, "DVI-A" },
> - { DRM_MODE_CONNECTOR_Composite, "Composite" },
> - { DRM_MODE_CONNECTOR_SVIDEO, "SVIDEO" },
> - { DRM_MODE_CONNECTOR_LVDS, "LVDS" },
> - { DRM_MODE_CONNECTOR_Component, "Component" },
> - { DRM_MODE_CONNECTOR_9PinDIN, "DIN" },
> - { DRM_MODE_CONNECTOR_DisplayPort, "DP" },
> - { DRM_MODE_CONNECTOR_HDMIA, "HDMI-A" },
> - { DRM_MODE_CONNECTOR_HDMIB, "HDMI-B" },
> - { DRM_MODE_CONNECTOR_TV, "TV" },
> - { DRM_MODE_CONNECTOR_eDP, "eDP" },
> - { DRM_MODE_CONNECTOR_VIRTUAL, "Virtual" },
> - { DRM_MODE_CONNECTOR_DSI, "DSI" },
> - { DRM_MODE_CONNECTOR_DPI, "DPI" },
> - {}
> -};
> -
> -/**
> - * kmstest_connector_type_str:
> - * @type: DRM_MODE_CONNECTOR_* enumeration value
> - *
> - * Returns: A string representing the drm connector @type.
> - */
> -const char *kmstest_connector_type_str(int type)
> -{
> - return find_type_name(connector_type_names, type);
> -}
> -
> /**
> * igt_lock_mem:
> * @size: the amount of memory to lock into RAM, in MB
> diff --git a/lib/igt_aux.h b/lib/igt_aux.h
> index 0bd226be..02e70126 100644
> --- a/lib/igt_aux.h
> +++ b/lib/igt_aux.h
> @@ -45,12 +45,7 @@ extern int num_trash_bos;
> #define NSEC_PER_SEC (1000*USEC_PER_SEC)
>
> /* signal interrupt helpers */
> -#ifdef ANDROID
> -#include <unistd.h> /* on Android bionic has this implemented */
> -#else
> #define gettid() syscall(__NR_gettid)
> -#endif
> -
> #define sigev_notify_thread_id _sigev_un._tid
>
> /* auxialiary igt helpers from igt_aux.c */
> diff --git a/lib/igt_core.c b/lib/igt_core.c
> index 6ce83bec..de9269b0 100644
> --- a/lib/igt_core.c
> +++ b/lib/igt_core.c
> @@ -496,72 +496,6 @@ void __igt_fixture_end(void)
> }
>
> /*
> - * Some of the IGT tests put quite a lot of pressure on memory and when
> - * running on Android they are sometimes killed by the Android low memory killer.
> - * This seems to be due to some incompatibility between the kswapd free memory
> - * targets and the way the lowmemorykiller assesses free memory.
> - * The low memory killer really isn't usefull in this context and has no
> - * interaction with the gpu driver that we are testing, so the following
> - * function is used to disable it by modifying one of its module parameters.
> - * We still have the normal linux oom killer to protect the kernel.
> - * Apparently it is also possible for the lowmemorykiller to get included
> - * in some linux distributions; so rather than check for Android we directly
> - * check for the existence of the module parameter we want to adjust.
> - *
> - * In future, if we can get the lowmemorykiller to play nicely then we can
> - * remove this hack.
> - */
> -static void low_mem_killer_disable(bool disable)
> -{
> - static const char* adj_fname="/sys/module/lowmemorykiller/parameters/adj";
> - static const char no_lowmem_killer[] = "9999";
> - int fd;
> - struct stat buf;
> - /* The following must persist across invocations */
> - static char prev_adj_scores[256];
> - static int adj_scores_len = 0;
> - static bool is_disabled = false;
> -
> - /* capture the permissions bits for the lowmemkiller adj pseudo-file.
> - * Bail out if the stat fails; it probably means that there is no
> - * lowmemorykiller, but in any case we're doomed. */
> - if (stat(adj_fname, &buf)) {
> - igt_assert(errno == ENOENT);
> - return;
> - }
> -
> - /* make sure the file can be read/written - by default it is write-only */
> - chmod(adj_fname, S_IRUSR | S_IWUSR);
> -
> - if (disable && !is_disabled) {
> - /* read the current oom adj parameters for lowmemorykiller */
> - fd = open(adj_fname, O_RDWR);
> - igt_assert(fd != -1);
> - adj_scores_len = read(fd, (void*)prev_adj_scores, 255);
> - igt_assert(adj_scores_len > 0);
> -
> - /* writing 9999 to this module parameter effectively diables the
> - * low memory killer. This is not a real file, so we dont need to
> - * seek to the start or truncate it */
> - igt_assert_eq(write(fd, no_lowmem_killer, sizeof(no_lowmem_killer)),
> - sizeof(no_lowmem_killer));
> - close(fd);
> - is_disabled = true;
> - } else if (is_disabled) {
> - /* just re-enstate the original settings */
> - fd = open(adj_fname, O_WRONLY);
> - igt_assert(fd != -1);
> - igt_assert_eq(write(fd, prev_adj_scores, adj_scores_len),
> - adj_scores_len);
> - close(fd);
> - is_disabled = false;
> - }
> -
> - /* re-enstate the file permissions */
> - chmod(adj_fname, buf.st_mode);
> -}
> -
> -/*
> * If the test takes out the machine, in addition to the usual dmesg
> * spam, the kernel may also emit a "death rattle" -- extra debug
> * information that is overkill for normal successful tests, but
> @@ -587,7 +521,6 @@ bool igt_exit_called;
> static void common_exit_handler(int sig)
> {
> if (!igt_only_list_subtests()) {
> - low_mem_killer_disable(false);
> kick_fbcon(true);
> }
>
> @@ -879,7 +812,6 @@ out:
>
> sync();
> oom_adjust_for_doom();
> - low_mem_killer_disable(true);
> ftrace_dump_on_oops(true);
> }
>
> diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
> index 5670099f..9af8a593 100644
> --- a/lib/igt_debugfs.c
> +++ b/lib/igt_debugfs.c
> @@ -990,30 +990,7 @@ int igt_get_stable_obj_count(int driver)
> obj_count = get_object_count(driver);
> /* The test relies on the system being in the same state before and
> * after the test so any difference in the object count is a result of
> - * leaks during the test. gem_quiescent_gpu() mostly achieves this but
> - * on android occasionally obj_count can still change briefly.
> - * The loop ensures obj_count has remained stable over several checks
> - */
> -#ifdef ANDROID
> - {
> - int loop_count = 0;
> - int prev_obj_count = obj_count;
> - while (loop_count < 4) {
> - usleep(200000);
> - gem_quiescent_gpu(driver);
> - obj_count = get_object_count(driver);
> - if (obj_count == prev_obj_count) {
> - loop_count++;
> - } else {
> - igt_debug("loop_count=%d, obj_count=%d, prev_obj_count=%d\n",
> - loop_count, obj_count, prev_obj_count);
> - loop_count = 0;
> - prev_obj_count = obj_count;
> - }
> -
> - }
> - }
> -#endif
> + * leaks during the test. */
> return obj_count;
> }
>
> diff --git a/lib/igt_fb.h b/lib/igt_fb.h
> index 3f549036..d30a7340 100644
> --- a/lib/igt_fb.h
> +++ b/lib/igt_fb.h
> @@ -28,14 +28,7 @@
> #ifndef __IGT_FB_H__
> #define __IGT_FB_H__
>
> -/* cairo is assumed available on linux. On Android we check for ANDROID_HAS_CAIRO */
> -#if (!defined(ANDROID)) || (defined(ANDROID) && ANDROID_HAS_CAIRO)
> #include <cairo.h>
> -#else
> -typedef struct _cairo_surface cairo_surface_t;
> -typedef struct _cairo cairo_t;
> -#endif
> -
> #include <stddef.h>
> #include <stdbool.h>
> #include <drm_fourcc.h>
> diff --git a/lib/igt_kmod.h b/lib/igt_kmod.h
> index 6a7584f1..fd307a45 100644
> --- a/lib/igt_kmod.h
> +++ b/lib/igt_kmod.h
> @@ -24,11 +24,7 @@
> #ifndef IGT_KMOD_H
> #define IGT_KMOD_H
>
> -#ifdef ANDROID
> -#include <libkmod/libkmod.h>
> -#else
> #include <libkmod.h>
> -#endif
>
> #include "igt_aux.h"
>
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 92dcd3ca..125ecb19 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -377,6 +377,95 @@ const char *kmstest_plane_type_name(int plane_type)
> return names[plane_type];
> }
>
> +struct type_name {
> + int type;
> + const char *name;
> +};
> +
> +static const char *find_type_name(const struct type_name *names, int type)
> +{
> + for (; names->name; names++) {
> + if (names->type == type)
> + return names->name;
> + }
> +
> + return "(invalid)";
> +}
> +
> +static const struct type_name encoder_type_names[] = {
> + { DRM_MODE_ENCODER_NONE, "none" },
> + { DRM_MODE_ENCODER_DAC, "DAC" },
> + { DRM_MODE_ENCODER_TMDS, "TMDS" },
> + { DRM_MODE_ENCODER_LVDS, "LVDS" },
> + { DRM_MODE_ENCODER_TVDAC, "TVDAC" },
> + { DRM_MODE_ENCODER_VIRTUAL, "Virtual" },
> + { DRM_MODE_ENCODER_DSI, "DSI" },
> + { DRM_MODE_ENCODER_DPMST, "DP MST" },
> + {}
> +};
> +
> +/**
> + * kmstest_encoder_type_str:
> + * @type: DRM_MODE_ENCODER_* enumeration value
> + *
> + * Returns: A string representing the drm encoder @type.
> + */
> +const char *kmstest_encoder_type_str(int type)
> +{
> + return find_type_name(encoder_type_names, type);
> +}
> +
> +static const struct type_name connector_status_names[] = {
> + { DRM_MODE_CONNECTED, "connected" },
> + { DRM_MODE_DISCONNECTED, "disconnected" },
> + { DRM_MODE_UNKNOWNCONNECTION, "unknown" },
> + {}
> +};
> +
> +/**
> + * kmstest_connector_status_str:
> + * @status: DRM_MODE_* connector status value
> + *
> + * Returns: A string representing the drm connector status @status.
> + */
> +const char *kmstest_connector_status_str(int status)
> +{
> + return find_type_name(connector_status_names, status);
> +}
> +
> +static const struct type_name connector_type_names[] = {
> + { DRM_MODE_CONNECTOR_Unknown, "Unknown" },
> + { DRM_MODE_CONNECTOR_VGA, "VGA" },
> + { DRM_MODE_CONNECTOR_DVII, "DVI-I" },
> + { DRM_MODE_CONNECTOR_DVID, "DVI-D" },
> + { DRM_MODE_CONNECTOR_DVIA, "DVI-A" },
> + { DRM_MODE_CONNECTOR_Composite, "Composite" },
> + { DRM_MODE_CONNECTOR_SVIDEO, "SVIDEO" },
> + { DRM_MODE_CONNECTOR_LVDS, "LVDS" },
> + { DRM_MODE_CONNECTOR_Component, "Component" },
> + { DRM_MODE_CONNECTOR_9PinDIN, "DIN" },
> + { DRM_MODE_CONNECTOR_DisplayPort, "DP" },
> + { DRM_MODE_CONNECTOR_HDMIA, "HDMI-A" },
> + { DRM_MODE_CONNECTOR_HDMIB, "HDMI-B" },
> + { DRM_MODE_CONNECTOR_TV, "TV" },
> + { DRM_MODE_CONNECTOR_eDP, "eDP" },
> + { DRM_MODE_CONNECTOR_VIRTUAL, "Virtual" },
> + { DRM_MODE_CONNECTOR_DSI, "DSI" },
> + { DRM_MODE_CONNECTOR_DPI, "DPI" },
> + {}
> +};
> +
> +/**
> + * kmstest_connector_type_str:
> + * @type: DRM_MODE_CONNECTOR_* enumeration value
> + *
> + * Returns: A string representing the drm connector @type.
> + */
> +const char *kmstest_connector_type_str(int type)
> +{
> + return find_type_name(connector_type_names, type);
> +}
> +
> static const char *mode_stereo_name(const drmModeModeInfo *mode)
> {
> switch (mode->flags & DRM_MODE_FLAG_3D_MASK) {
> diff --git a/lib/tests/Android.mk b/lib/tests/Android.mk
> deleted file mode 100644
> index bbbd4d86..00000000
> --- a/lib/tests/Android.mk
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -LOCAL_PATH := $(call my-dir)
> -
> -include $(LOCAL_PATH)/Makefile.sources
> -
> -#================#
> -# each igt test is a separate executable. define a function to build one of these tests
> -define add_test
> - include $(CLEAR_VARS)
> -
> - # specific to this test
> - LOCAL_SRC_FILES := $1.c
> - LOCAL_MODULE := $1
> -
> - # common to all tests
> - LOCAL_CFLAGS += ${IGT_LOCAL_CFLAGS}
> - LOCAL_C_INCLUDES = ${IGT_LOCAL_C_INCLUDES}
> - LOCAL_STATIC_LIBRARIES := ${IGT_LOCAL_STATIC_LIBRARIES}
> - LOCAL_SHARED_LIBRARIES := ${IGT_LOCAL_SHARED_LIBRARIES}
> -
> - LOCAL_MODULE_TAGS := optional
> - LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/intel/validation/core/igt
> -
> - include $(BUILD_EXECUTABLE)
> -endef
> -
> -# set local compilation flags for IGT tests
> -IGT_LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM -DANDROID -UNDEBUG
> -IGT_LOCAL_CFLAGS += -std=gnu99
> -# FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
> -IGT_LOCAL_CFLAGS += -Wno-error=return-type
> -
> -# set local includes
> -IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \
> - $(LOCAL_PATH)/../lib/stubs/drm/
> -
> -# set local libraries
> -IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
> -IGT_LOCAL_SHARED_LIBRARIES := libpciaccess libdrm libdrm_intel
> -
> -$(foreach item,$($(check_prog_list)),$(eval $(call add_test,$(item))))
> -
> diff --git a/tests/Android.mk b/tests/Android.mk
> deleted file mode 100644
> index c6e966fa..00000000
> --- a/tests/Android.mk
> +++ /dev/null
> @@ -1,83 +0,0 @@
> -LOCAL_PATH := $(call my-dir)
> -
> -include $(LOCAL_PATH)/Makefile.sources
> -
> -#================#
> -# each igt test is a separate executable. define a function to build one of these tests
> -define add_test
> - include $(CLEAR_VARS)
> -
> - # specific to this test
> - LOCAL_SRC_FILES := $1.c
> - LOCAL_MODULE := $1
> -
> - # common to all tests
> - LOCAL_CFLAGS += ${IGT_LOCAL_CFLAGS}
> - LOCAL_C_INCLUDES = ${IGT_LOCAL_C_INCLUDES}
> - LOCAL_STATIC_LIBRARIES := ${IGT_LOCAL_STATIC_LIBRARIES}
> - LOCAL_SHARED_LIBRARIES := ${IGT_LOCAL_SHARED_LIBRARIES}
> -
> - LOCAL_MODULE_TAGS := optional
> - # ask linker to define a specific symbol; we use this to identify IGT tests
> - LOCAL_LDFLAGS := -Wl,--defsym=$2=0 -lkmod
> - LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/intel/validation/core/igt
> -
> - include $(BUILD_EXECUTABLE)
> -endef
> -
> -
> -# some tests still do not build under android
> -skip_tests_list :=
> -skip_tests_list += testdisplay # needs glib.h
> -skip_tests_list += pm_rpm
> -
> -# set local compilation flags for IGT tests
> -IGT_LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM -DANDROID -UNDEBUG
> -IGT_LOCAL_CFLAGS += -include "check-ndebug.h" -std=gnu99
> -# FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
> -IGT_LOCAL_CFLAGS += -Wno-error=return-type
> -# Excessive complaining for established cases. Rely on the Linux version warnings.
> -IGT_LOCAL_CFLAGS += -Wno-sign-compare
> -
> -# set local includes
> -IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \
> - $(LOCAL_PATH)/../lib/stubs/drm/
> -
> -# set local libraries
> -IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
> -IGT_LOCAL_SHARED_LIBRARIES := libpciaccess libkmod libdrm libdrm_intel
> -
> -# handle cairo requirements if it is enabled
> -ifeq ("${ANDROID_HAS_CAIRO}", "1")
> - IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/cairo-1.12.16/src
> - IGT_LOCAL_SHARED_LIBRARIES += libcairo
> - IGT_LOCAL_CFLAGS += -DANDROID_HAS_CAIRO=1
> -else
> -# the following tests depend on cairo, so skip them
> - skip_tests_list += \
> - gem_render_copy \
> - pm_lpsp \
> - drm_read \
> - gem_exec_blt \
> - perf \
> - prime_mmap_kms
> -
> -# All kms tests depend on cairo
> - tmp_list := $(foreach test_name, $(TESTS_progs),\
> - $(if $(findstring kms_,$(test_name)),$(test_name)))
> - skip_tests_list += $(tmp_list)
> -
> - tmp_list := $(foreach test_name, $(TESTS_progs_M),\
> - $(if $(findstring kms_,$(test_name)),$(test_name)))
> - skip_tests_list += $(tmp_list)
> -
> - IGT_LOCAL_CFLAGS += -DANDROID_HAS_CAIRO=0
> -endif
> -
> -# create two test lists, one for simple single tests, one for tests that have subtests
> -tests_list := $(filter-out $(skip_tests_list),$(TESTS_progs) $(HANG) $(TESTS_testsuite))
> -tests_list_M := $(filter-out $(skip_tests_list),$(TESTS_progs_M))
> -
> -$(foreach item,$(tests_list),$(eval $(call add_test,$(item),"IGT_SINGLE_TEST")))
> -$(foreach item,$(tests_list_M),$(eval $(call add_test,$(item),"IGT_MULTI_TEST")))
> -
> diff --git a/tests/core_get_client_auth.c b/tests/core_get_client_auth.c
> index 676083d5..9c64699d 100644
> --- a/tests/core_get_client_auth.c
> +++ b/tests/core_get_client_auth.c
> @@ -51,12 +51,10 @@ is_local_tid(pid_t tid)
> {
> #ifndef __linux__
> return pthread_self() == tid;
> -#elif !defined(ANDROID)
> +#else
> /* On Linux systems, drmGetClient() would return the thread ID
> instead of the actual process ID */
> return syscall(SYS_gettid) == tid;
> -#else
> - return gettid() == tid;
> #endif
> }
>
> diff --git a/tests/gem_exec_nop.c b/tests/gem_exec_nop.c
> index c9280795..b5f15807 100644
> --- a/tests/gem_exec_nop.c
> +++ b/tests/gem_exec_nop.c
> @@ -142,7 +142,6 @@ stable_nop_on_ring(int fd, uint32_t handle, unsigned int engine,
> return n;
> }
>
> -#if !defined(ANDROID) || ANDROID_HAS_CAIRO
> #define assert_within_epsilon(x, ref, tolerance) \
> igt_assert_f((x) <= (1.0 + tolerance) * ref && \
> (x) >= (1.0 - tolerance) * ref, \
> @@ -187,7 +186,6 @@ static void headless(int fd, uint32_t handle)
> /* check that the two execution speeds are roughly the same */
> assert_within_epsilon(n_headless, n_display, 0.1f);
> }
> -#endif
>
> static bool ignore_engine(int fd, unsigned engine)
> {
> @@ -710,13 +708,11 @@ igt_main
> }
> }
>
> -#if !defined(ANDROID) || ANDROID_HAS_CAIRO
> igt_subtest("headless") {
> /* Requires master for changing display modes */
> igt_require(drmSetMaster(device) == 0);
> headless(device, handle);
> }
> -#endif
>
> igt_fixture {
> igt_stop_hang_detector();
> diff --git a/tools/Android.mk b/tools/Android.mk
> deleted file mode 100644
> index 96075c9d..00000000
> --- a/tools/Android.mk
> +++ /dev/null
> @@ -1,82 +0,0 @@
> -LOCAL_PATH := $(call my-dir)
> -
> -include $(LOCAL_PATH)/Makefile.sources
> -
> -LOCAL_TOOLS_DIR := intel/validation/core/igt/tools
> -
> -#================#
> -
> -define add_tool
> - include $(CLEAR_VARS)
> -
> - ifeq ($($(1)_SOURCES),)
> - LOCAL_SRC_FILES := $1.c
> - else
> - LOCAL_SRC_FILES := $(filter-out %.h,$($(1)_SOURCES))
> - endif
> -
> - LOCAL_CFLAGS += -DHAVE_TERMIOS_H
> - LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM
> - LOCAL_CFLAGS += -DANDROID -UNDEBUG
> - LOCAL_CFLAGS += -std=gnu99
> - # FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
> - LOCAL_CFLAGS += -Wno-error=return-type
> - # Excessive complaining for established cases. Rely on the Linux version warnings.
> - LOCAL_CFLAGS += -Wno-sign-compare
> - LOCAL_LDFLAGS += -lkmod
> - ifeq ($($(1)_LDFLAGS),)
> - else
> - LOCAL_LDFLAGS += $($(1)_LDFLAGS)
> - endif
> -
> - LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \
> - $(LOCAL_PATH)/../lib/stubs/drm/
> -
> - LOCAL_MODULE := $1_tool
> - LOCAL_MODULE_TAGS := optional
> -
> - LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
> -
> - LOCAL_SHARED_LIBRARIES := libpciaccess \
> - libkmod \
> - libdrm \
> - libdrm_intel \
> - libz
> -
> - # Tools dir on host
> - LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/$(LOCAL_TOOLS_DIR)
> - # Tools dir on target.
> - LOCAL_CFLAGS += -DPKGDATADIR=\"/system/vendor/$(LOCAL_TOOLS_DIR)\"
> -
> - include $(BUILD_EXECUTABLE)
> -endef
> -
> -#================#
> -
> -# Copy the register files
> -$(shell mkdir -p $(TARGET_OUT_VENDOR)/$(LOCAL_TOOLS_DIR)/registers)
> -$(shell cp $(LOCAL_PATH)/registers/* $(TARGET_OUT_VENDOR)/$(LOCAL_TOOLS_DIR)/registers)
> -
> -bin_PROGRAMS := $(tools_prog_lists)
> -
> -skip_tools_list := \
> - intel_framebuffer_dump \
> - intel_guc_logger \
> - intel_l3_parity \
> - intel_reg_dumper \
> - intel_vga_read \
> - intel_vga_write
> -
> -ifneq ("${ANDROID_HAS_CAIRO}", "1")
> - skip_tools_list += intel_display_crc
> - skip_tools_list += intel_residency
> -endif
> -
> -ifeq ($(HAVE_LIBDRM_INTEL),true)
> - bin_PROGRAMS += $(LIBDRM_INTEL_BIN)
> - intel_error_decode_LDFLAGS = -lz
> -endif
> -
> -tools_list := $(filter-out $(skip_tools_list),$(bin_PROGRAMS))
> -
> -$(foreach item,$(tools_list),$(eval $(call add_tool,$(item))))
>
Don't know about anyone needing Android support for igt but changes for
Android support removal are
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
More information about the Intel-gfx
mailing list