* [PATCH i-g-t v2 00/13] Fix IGTs for Android
@ 2017-05-16 13:24 Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 01/13] tests/drm_import_export: Include {i915_, }drm.h properly Arkadiusz Hiler
` (13 more replies)
0 siblings, 14 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
IGTs are broken for Android since the introduction of dependency on procps. Over
time other incompatibilities built up.
I took the liberty to fix some of the issues, workaround couple of others and
blacklist heavily incompatible tools/tests.
It builds on (almost) vanilla AOSP now.
Github: <https://github.com/ivyl/igt/commits/android>
Howto: <https://gist.github.com/ivyl/1e05af15ae37b575e03dc69e5e2488fc>
now including docker exmaple / script for your convenience
DEP1: <https://github.com/ivyl/libkmod-android> - just builds Google's one
DEP2: <https://github.com/android-ia/external_libpciaccess>
We should include a note on Android compatibility in the README and do
"continuous compilation" of the patches as they arrive on the mailing list,
otherwise this **will get broken again soon**.
This is long as it is, but not complete yet.
Here are some of more obvious TODOs:
* introduce something like IGT_HAS_CAIRO define for convenience
* revise igt_kms dependency on cairo and enable everything what is independent
* revise kms tests and do the above
* review all things that are disabled on Android and try to enable them
* do something less ugly with config.h generation on Android
v2: couple of suggested fixed + everything that was not compatible since last
patch
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Robert Foss <robert.foss@collabora.com>
Arkadiusz Hiler (13):
tests/drm_import_export: Include {i915_,}drm.h properly
Make conditions on HAVE_UDEV consistent
lib/igt_aux: Include unistd.h for gettid() on Android
lib/igt_aux: Make procps optional
chamelium: Fix build issues on Android
tools/Android.mk: Add guc_logger and l3_parity skip list
tests/Android.mk: Add perf to skip list
Android.mk: Fix libkmod use
Android.mk: Filter out *.h from src files
Android.mk: Use drm stubs
tools/Android.mk: Fix zlib inclusion
tests/gem_exec_nop: Disable headless subtest on cairoless Android
tests/gem_exec_nop: Rename signal() to fence_signal()
benchmarks/Android.mk | 5 ++++-
configure.ac | 6 +++++-
demos/Android.mk | 3 ++-
lib/Android.mk | 7 ++++---
lib/Makefile.am | 7 +++++++
lib/Makefile.sources | 7 -------
lib/igt.h | 2 ++
lib/igt_aux.c | 37 +++++++++++++++++++++++++++++++++----
lib/igt_aux.h | 5 +++++
lib/igt_chamelium.h | 3 +++
lib/igt_kmod.h | 4 ++++
lib/tests/Android.mk | 4 ++--
tests/Android.mk | 9 +++++----
tests/Makefile.am | 6 ++++++
tests/Makefile.sources | 6 ------
tests/drm_import_export.c | 4 ++--
tests/gem_exec_nop.c | 14 +++++++++-----
tests/testdisplay_hotplug.c | 2 +-
tools/Android.mk | 14 +++++++++-----
tools/intel_l3_parity.c | 2 +-
tools/intel_l3_parity.h | 2 +-
tools/intel_l3_udev_listener.c | 2 +-
22 files changed, 106 insertions(+), 45 deletions(-)
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH i-g-t 01/13] tests/drm_import_export: Include {i915_, }drm.h properly
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 02/13] Make conditions on HAVE_UDEV consistent Arkadiusz Hiler
` (12 subsequent siblings)
13 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
Using `libdrm/` impairs compatibility with android build system and
pkg-config manages -I for us on regular distros.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tests/drm_import_export.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/drm_import_export.c b/tests/drm_import_export.c
index cfe5f6d..f1234bd 100644
--- a/tests/drm_import_export.c
+++ b/tests/drm_import_export.c
@@ -32,8 +32,8 @@
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
-#include <libdrm/drm.h>
-#include <libdrm/i915_drm.h>
+#include <drm.h>
+#include <i915_drm.h>
#include <xf86drm.h>
#include <intel_bufmgr.h>
#include <errno.h>
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 02/13] Make conditions on HAVE_UDEV consistent
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 01/13] tests/drm_import_export: Include {i915_, }drm.h properly Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android Arkadiusz Hiler
` (11 subsequent siblings)
13 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
We have a lot of `#ifdef HAVE_UDEV` and ` #if HAVE_UDEV` all over the
place, but ifdef and if have a slightly different semantics.
Let make it consistent by using #ifdefs only.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
lib/igt_aux.c | 2 +-
tests/testdisplay_hotplug.c | 2 +-
tools/intel_l3_parity.c | 2 +-
tools/intel_l3_parity.h | 2 +-
tools/intel_l3_udev_listener.c | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 1222806..2ec6b78 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -388,7 +388,7 @@ void igt_stop_shrink_helper(void)
igt_stop_helper(&shrink_helper);
}
-#if HAVE_UDEV
+#ifdef HAVE_UDEV
#include <libudev.h>
static struct igt_helper_process hang_detector;
diff --git a/tests/testdisplay_hotplug.c b/tests/testdisplay_hotplug.c
index 3b900ca..cf15511 100644
--- a/tests/testdisplay_hotplug.c
+++ b/tests/testdisplay_hotplug.c
@@ -34,7 +34,7 @@
#endif
-#if HAVE_UDEV
+#ifdef HAVE_UDEV
#include <libudev.h>
static struct udev_monitor *uevent_monitor;
static struct udev *udev;
diff --git a/tools/intel_l3_parity.c b/tools/intel_l3_parity.c
index dce7f32..eb00c50 100644
--- a/tools/intel_l3_parity.c
+++ b/tools/intel_l3_parity.c
@@ -42,7 +42,7 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
-#if HAVE_UDEV
+#ifdef HAVE_UDEV
#include <libudev.h>
#include <syslog.h>
#endif
diff --git a/tools/intel_l3_parity.h b/tools/intel_l3_parity.h
index 65697c4..759c4f4 100644
--- a/tools/intel_l3_parity.h
+++ b/tools/intel_l3_parity.h
@@ -18,7 +18,7 @@ struct l3_location {
uint8_t subbank;
};
-#if HAVE_UDEV
+#ifdef HAVE_UDEV
int l3_uevent_setup(struct l3_parity *par);
/* Listens (blocks) for an l3 parity event. Returns the location of the error. */
int l3_listen(struct l3_parity *par, bool daemon, struct l3_location *loc);
diff --git a/tools/intel_l3_udev_listener.c b/tools/intel_l3_udev_listener.c
index 0b94c1c..270bfff 100644
--- a/tools/intel_l3_udev_listener.c
+++ b/tools/intel_l3_udev_listener.c
@@ -25,7 +25,7 @@
#include "config.h"
#endif
-#if HAVE_UDEV
+#ifdef HAVE_UDEV
#include <libudev.h>
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 01/13] tests/drm_import_export: Include {i915_, }drm.h properly Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 02/13] Make conditions on HAVE_UDEV consistent Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 04/13] lib/igt_aux: Make procps optional Arkadiusz Hiler
` (10 subsequent siblings)
13 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
We define gettid() using syscall() because glibc does not provide a
wrapper.
Android's bionic got the syscall covered though.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
lib/igt_aux.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index e62858e..54b9716 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -43,7 +43,12 @@ 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 */
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 04/13] lib/igt_aux: Make procps optional
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (2 preceding siblings ...)
2017-05-16 13:24 ` [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 13:50 ` Chris Wilson
2017-05-16 13:24 ` [PATCH i-g-t 05/13] chamelium: Fix build issues on Android Arkadiusz Hiler
` (9 subsequent siblings)
13 siblings, 1 reply; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
Android does not have procps and it's not easy to compile it as a
dependency.
We can provide alternative, "naive" implementation that just shells out
to external commands (i.e. pkill and lsof) in case we do not have the
library.
v2: have separate functions for naive impls (J. Nikula)
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
configure.ac | 6 +++++-
lib/igt_aux.c | 35 ++++++++++++++++++++++++++++++++---
2 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 5342e33..72cb32f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -123,7 +123,11 @@ AC_SUBST(ASSEMBLER_WARN_CFLAGS)
PKG_CHECK_MODULES(DRM, [libdrm])
PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10])
PKG_CHECK_MODULES(KMOD, [libkmod])
-PKG_CHECK_MODULES(PROCPS, [libprocps])
+PKG_CHECK_MODULES(PROCPS, [libprocps], [procps=yes], [procps=no])
+AM_CONDITIONAL(HAVE_PROCPS, [test "x$procps" = xyes])
+if test x"$procps" = xyes; then
+ AC_DEFINE(HAVE_PROCPS,1,[Enable process managment without shelling out])
+fi
PKG_CHECK_MODULES(VALGRIND, [valgrind], [have_valgrind=yes], [have_valgrind=no])
if test x$have_valgrind = xyes; then
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 2ec6b78..f76e55d 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -50,9 +50,7 @@
#include <sys/utsname.h>
#include <termios.h>
#include <assert.h>
-
-#include <proc/readproc.h>
-
+#include <linux/limits.h>
#include "drmtest.h"
#include "i915_drm.h"
#include "intel_chipset.h"
@@ -71,6 +69,10 @@
#include <libgen.h> /* for dirname() */
#endif
+#ifdef HAVE_PROCPS
+#include <proc/readproc.h>
+#endif
+
/**
* SECTION:igt_aux
* @short_description: Auxiliary libraries and support functions
@@ -1293,6 +1295,7 @@ void igt_set_module_param_int(const char *name, int val)
* This function sends the signal @sig for a process found in process table
* with name @comm.
*/
+#ifdef HAVE_PROCPS
int igt_terminate_process(int sig, const char *comm)
{
PROCTAB *proc;
@@ -1317,7 +1320,19 @@ int igt_terminate_process(int sig, const char *comm)
closeproc(proc);
return err;
}
+#else
+#warning "No procps, using naive implementation of igt_terminate_process"
+int igt_terminate_process(int sig, const char *comm)
+{
+ char pkill_cmd[NAME_MAX];
+
+ snprintf(pkill_cmd, sizeof(pkill_cmd), "pkill -x -%d %s", sig, comm);
+ return system(pkill_cmd);
+}
+#endif
+
+#ifdef HAVE_PROCPS
struct pinfo {
pid_t pid;
const char *comm;
@@ -1499,6 +1514,7 @@ __igt_lsof(const char *dir)
closeproc(proc);
}
+#endif
/**
* igt_lsof: Lists information about files opened by processes.
@@ -1507,6 +1523,7 @@ __igt_lsof(const char *dir)
* This function mimics (a restrictive form of) lsof(8), but also shows
* information about opened fds.
*/
+#ifdef HAVE_PROCPS
void
igt_lsof(const char *dpath)
{
@@ -1531,6 +1548,18 @@ igt_lsof(const char *dpath)
free(sanitized);
}
+#else
+#warning "No procps, using naive implementation of igt_lsof"
+
+void
+igt_lsof(const char *dpath)
+{
+ char lsof_cmd[NAME_MAX];
+
+ snprintf(lsof_cmd, sizeof(lsof_cmd), "lsof +d %s", dpath);
+ system(lsof_cmd);
+}
+#endif
static struct igt_siglatency {
timer_t timer;
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 05/13] chamelium: Fix build issues on Android
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (3 preceding siblings ...)
2017-05-16 13:24 ` [PATCH i-g-t 04/13] lib/igt_aux: Make procps optional Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 14:06 ` Michal Wajdeczko
2017-05-16 13:24 ` [PATCH i-g-t 06/13] tools/Android.mk: Add guc_logger and l3_parity skip list Arkadiusz Hiler
` (8 subsequent siblings)
13 siblings, 1 reply; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
Makefile.sources are included 1:1 in Android.mk files, and are not
parsed by automake. And yet those had some automake conditional logic.
Moving it to .am file is enough for now.
Also igt_chamelium.h included config.h without proper "HAVE_CONFIG_H"
guard, and the file itself was included unconditionally.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
lib/Makefile.am | 7 +++++++
lib/Makefile.sources | 7 -------
lib/igt.h | 2 ++
lib/igt_chamelium.h | 3 +++
tests/Makefile.am | 6 ++++++
tests/Makefile.sources | 6 ------
6 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/lib/Makefile.am b/lib/Makefile.am
index c0ddf29..91e72c4 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -22,6 +22,13 @@ if !HAVE_LIBDRM_INTEL
stubs/drm/intel_bufmgr.h
endif
+if HAVE_CHAMELIUM
+lib_source_list += \
+ igt_chamelium.h \
+ igt_chamelium.c \
+ $(NULL)
+endif
+
AM_CPPFLAGS = -I$(top_srcdir)
AM_CFLAGS = \
$(CWARNFLAGS) \
diff --git a/lib/Makefile.sources b/lib/Makefile.sources
index 6348487..53fdb54 100644
--- a/lib/Makefile.sources
+++ b/lib/Makefile.sources
@@ -85,13 +85,6 @@ lib_source_list = \
igt_kmod.h \
$(NULL)
-if HAVE_CHAMELIUM
-lib_source_list += \
- igt_chamelium.h \
- igt_chamelium.c \
- $(NULL)
-endif
-
.PHONY: version.h.tmp
# leaving a space here to work around automake's conditionals
diff --git a/lib/igt.h b/lib/igt.h
index a97923e..a069deb 100644
--- a/lib/igt.h
+++ b/lib/igt.h
@@ -38,7 +38,9 @@
#include "igt_kms.h"
#include "igt_pm.h"
#include "igt_stats.h"
+#ifdef HAVE_CHAMELIUM
#include "igt_chamelium.h"
+#endif
#include "instdone.h"
#include "intel_batchbuffer.h"
#include "intel_chipset.h"
diff --git a/lib/igt_chamelium.h b/lib/igt_chamelium.h
index f421d83..15f6024 100644
--- a/lib/igt_chamelium.h
+++ b/lib/igt_chamelium.h
@@ -26,7 +26,10 @@
#ifndef IGT_CHAMELIUM_H
#define IGT_CHAMELIUM_H
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
+
#include "igt.h"
#include <stdbool.h>
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 05681d5..61c7a15 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -12,6 +12,12 @@ if HAVE_LIBDRM_VC4
TESTS_progs_M += $(VC4_TESTS_M)
endif
+if HAVE_CHAMELIUM
+TESTS_progs_M += \
+ chamelium \
+ $(NULL)
+endif
+
if BUILD_TESTS
test-list.txt: Makefile.sources
@echo TESTLIST > $@
diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 9553e4d..df1fee5 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -154,12 +154,6 @@ TESTS_progs_M = \
meta_test \
$(NULL)
-if HAVE_CHAMELIUM
-TESTS_progs_M += \
- chamelium \
- $(NULL)
-endif
-
TESTS_progs_XM = \
gem_concurrent_all \
$(NULL)
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 06/13] tools/Android.mk: Add guc_logger and l3_parity skip list
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (4 preceding siblings ...)
2017-05-16 13:24 ` [PATCH i-g-t 05/13] chamelium: Fix build issues on Android Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-18 8:07 ` Petri Latvala
2017-05-16 13:24 ` [PATCH i-g-t 07/13] tests/Android.mk: Add perf " Arkadiusz Hiler
` (7 subsequent siblings)
13 siblings, 1 reply; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
Those tools does not build on Android due to "Linux-only" dependencies.
Let's blacklist them for now.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tools/Android.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/Android.mk b/tools/Android.mk
index 6cdedeb..0602e8c 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -59,6 +59,8 @@ 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
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 07/13] tests/Android.mk: Add perf to skip list
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (5 preceding siblings ...)
2017-05-16 13:24 ` [PATCH i-g-t 06/13] tools/Android.mk: Add guc_logger and l3_parity skip list Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 13:51 ` Chris Wilson
2017-05-16 13:24 ` [PATCH i-g-t 08/13] Android.mk: Fix libkmod use Arkadiusz Hiler
` (6 subsequent siblings)
13 siblings, 1 reply; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
It does not build on Android with top libdrm.
Temporary hax.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tests/Android.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/Android.mk b/tests/Android.mk
index 3186a2a..c67ddbd 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -59,6 +59,7 @@ else
pm_lpsp \
drm_read \
gem_exec_blt \
+ perf \
prime_mmap_kms
# All kms tests depend on cairo
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 08/13] Android.mk: Fix libkmod use
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (6 preceding siblings ...)
2017-05-16 13:24 ` [PATCH i-g-t 07/13] tests/Android.mk: Add perf " Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 09/13] Android.mk: Filter out *.h from src files Arkadiusz Hiler
` (5 subsequent siblings)
13 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
On Android libkmod.h is nested under libkmod directory, so we should
include appropriately.
Also we need to link with it.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
benchmarks/Android.mk | 2 ++
lib/Android.mk | 1 +
lib/igt_kmod.h | 4 ++++
tests/Android.mk | 4 ++--
tools/Android.mk | 2 ++
5 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/benchmarks/Android.mk b/benchmarks/Android.mk
index c0fa09f..faa73b7 100644
--- a/benchmarks/Android.mk
+++ b/benchmarks/Android.mk
@@ -18,6 +18,7 @@ define add_benchmark
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
@@ -26,6 +27,7 @@ define add_benchmark
LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
LOCAL_SHARED_LIBRARIES := libpciaccess \
+ libkmod \
libdrm \
libdrm_intel
diff --git a/lib/Android.mk b/lib/Android.mk
index eb72f84..0596e4a 100644
--- a/lib/Android.mk
+++ b/lib/Android.mk
@@ -29,6 +29,7 @@ LOCAL_CFLAGS += -std=gnu99 -UNDEBUG
LOCAL_MODULE:= libintel_gpu_tools
LOCAL_SHARED_LIBRARIES := libpciaccess \
+ libkmod \
libdrm \
libdrm_intel
diff --git a/lib/igt_kmod.h b/lib/igt_kmod.h
index fd307a4..6a7584f 100644
--- a/lib/igt_kmod.h
+++ b/lib/igt_kmod.h
@@ -24,7 +24,11 @@
#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/tests/Android.mk b/tests/Android.mk
index c67ddbd..b664dff 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -19,7 +19,7 @@ define add_test
LOCAL_MODULE_TAGS := optional
# ask linker to define a specific symbol; we use this to identify IGT tests
- LOCAL_LDFLAGS := -Wl,--defsym=$2=0
+ LOCAL_LDFLAGS := -Wl,--defsym=$2=0 -lkmod
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/intel/validation/core/igt
include $(BUILD_EXECUTABLE)
@@ -45,7 +45,7 @@ IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/PRIVATE/drm/include/drm
# set local libraries
IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
-IGT_LOCAL_SHARED_LIBRARIES := libpciaccess libdrm libdrm_intel
+IGT_LOCAL_SHARED_LIBRARIES := libpciaccess libkmod libdrm libdrm_intel
# handle cairo requirements if it is enabled
ifeq ("${ANDROID_HAS_CAIRO}", "1")
diff --git a/tools/Android.mk b/tools/Android.mk
index 0602e8c..a8e649b 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -23,6 +23,7 @@ define add_tool
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)
@@ -38,6 +39,7 @@ define add_tool
LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
LOCAL_SHARED_LIBRARIES := libpciaccess \
+ libkmod \
libdrm \
libdrm_intel
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 09/13] Android.mk: Filter out *.h from src files
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (7 preceding siblings ...)
2017-05-16 13:24 ` [PATCH i-g-t 08/13] Android.mk: Fix libkmod use Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 10/13] Android.mk: Use drm stubs Arkadiusz Hiler
` (4 subsequent siblings)
13 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
Newer Android's build system complains about unused files if we leave
those there.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
lib/Android.mk | 2 +-
tools/Android.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Android.mk b/lib/Android.mk
index 0596e4a..003ade5 100644
--- a/lib/Android.mk
+++ b/lib/Android.mk
@@ -45,7 +45,7 @@ skip_lib_list := \
-DANDROID_HAS_CAIRO=0
endif
-LOCAL_SRC_FILES := $(filter-out $(skip_lib_list),$(lib_source_list))
+LOCAL_SRC_FILES := $(filter-out %.h $(skip_lib_list),$(lib_source_list))
include $(BUILD_STATIC_LIBRARY)
diff --git a/tools/Android.mk b/tools/Android.mk
index a8e649b..0bad29c 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -12,7 +12,7 @@ define add_tool
ifeq ($($(1)_SOURCES),)
LOCAL_SRC_FILES := $1.c
else
- LOCAL_SRC_FILES := $($(1)_SOURCES)
+ LOCAL_SRC_FILES := $(filter-out %.h,$($(1)_SOURCES))
endif
LOCAL_CFLAGS += -DHAVE_TERMIOS_H
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 10/13] Android.mk: Use drm stubs
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (8 preceding siblings ...)
2017-05-16 13:24 ` [PATCH i-g-t 09/13] Android.mk: Filter out *.h from src files Arkadiusz Hiler
@ 2017-05-16 13:24 ` Arkadiusz Hiler
2017-05-16 13:25 ` [PATCH i-g-t 11/13] tools/Android.mk: Fix zlib inclusion Arkadiusz Hiler
` (3 subsequent siblings)
13 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:24 UTC (permalink / raw)
To: intel-gfx
Use drm stubs that sit under lib/stubs.
Also drop strange, nonexistent additions to LOCAL_C_INCLUDES.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
benchmarks/Android.mk | 3 ++-
demos/Android.mk | 3 ++-
lib/Android.mk | 4 ++--
lib/tests/Android.mk | 4 ++--
tests/Android.mk | 4 ++--
tools/Android.mk | 2 +-
6 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/benchmarks/Android.mk b/benchmarks/Android.mk
index faa73b7..4ea275c 100644
--- a/benchmarks/Android.mk
+++ b/benchmarks/Android.mk
@@ -10,7 +10,8 @@ define add_benchmark
LOCAL_SRC_FILES := $1.c
- LOCAL_C_INCLUDES = ${IGT_LOCAL_C_INCLUDES}
+ 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
diff --git a/demos/Android.mk b/demos/Android.mk
index 90d8b37..1f50fdc 100644
--- a/demos/Android.mk
+++ b/demos/Android.mk
@@ -16,7 +16,8 @@ LOCAL_CFLAGS += -std=gnu99
# Excessive complaining for established cases. Rely on the Linux version warnings.
LOCAL_CFLAGS += -Wno-sign-compare
-LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
+LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \
+ $(LOCAL_PATH)/../lib/stubs/drm/
LOCAL_MODULE := intel_sprite_on
diff --git a/lib/Android.mk b/lib/Android.mk
index 003ade5..31f88be 100644
--- a/lib/Android.mk
+++ b/lib/Android.mk
@@ -17,8 +17,8 @@ LOCAL_GENERATED_SOURCES := \
$(IGT_LIB_PATH)/version.h \
$(GPU_TOOLS_PATH)/config.h
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/..
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/.. \
+ $(LOCAL_PATH)/stubs/drm/
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
diff --git a/lib/tests/Android.mk b/lib/tests/Android.mk
index 026f17f..bbbd4d8 100644
--- a/lib/tests/Android.mk
+++ b/lib/tests/Android.mk
@@ -30,8 +30,8 @@ IGT_LOCAL_CFLAGS += -std=gnu99
IGT_LOCAL_CFLAGS += -Wno-error=return-type
# set local includes
-IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
-IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/PRIVATE/drm/include/drm
+IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \
+ $(LOCAL_PATH)/../lib/stubs/drm/
# set local libraries
IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
diff --git a/tests/Android.mk b/tests/Android.mk
index b664dff..c6e966f 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -40,8 +40,8 @@ IGT_LOCAL_CFLAGS += -Wno-error=return-type
IGT_LOCAL_CFLAGS += -Wno-sign-compare
# set local includes
-IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
-IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/PRIVATE/drm/include/drm
+IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \
+ $(LOCAL_PATH)/../lib/stubs/drm/
# set local libraries
IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
diff --git a/tools/Android.mk b/tools/Android.mk
index 0bad29c..5653572 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -30,7 +30,7 @@ define add_tool
endif
LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
- LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/PRIVATE/drm/include/drm
+ LOCAL_C_INCLUDES += $(LOCAL_PATH)/../lib/stubs/drm/
LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/zlib
LOCAL_MODULE := $1_tool
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 11/13] tools/Android.mk: Fix zlib inclusion
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (9 preceding siblings ...)
2017-05-16 13:24 ` [PATCH i-g-t 10/13] Android.mk: Use drm stubs Arkadiusz Hiler
@ 2017-05-16 13:25 ` Arkadiusz Hiler
2017-05-16 13:25 ` [PATCH i-g-t 12/13] tests/gem_exec_nop: Disable headless subtest on cairoless Android Arkadiusz Hiler
` (2 subsequent siblings)
13 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:25 UTC (permalink / raw)
To: intel-gfx
Add dependency on libz instead of doing path magic.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tools/Android.mk | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/Android.mk b/tools/Android.mk
index 5653572..96075c9 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -29,9 +29,8 @@ define add_tool
LOCAL_LDFLAGS += $($(1)_LDFLAGS)
endif
- LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib
- LOCAL_C_INCLUDES += $(LOCAL_PATH)/../lib/stubs/drm/
- LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/zlib
+ LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \
+ $(LOCAL_PATH)/../lib/stubs/drm/
LOCAL_MODULE := $1_tool
LOCAL_MODULE_TAGS := optional
@@ -41,7 +40,8 @@ define add_tool
LOCAL_SHARED_LIBRARIES := libpciaccess \
libkmod \
libdrm \
- libdrm_intel
+ libdrm_intel \
+ libz
# Tools dir on host
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/$(LOCAL_TOOLS_DIR)
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 12/13] tests/gem_exec_nop: Disable headless subtest on cairoless Android
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (10 preceding siblings ...)
2017-05-16 13:25 ` [PATCH i-g-t 11/13] tools/Android.mk: Fix zlib inclusion Arkadiusz Hiler
@ 2017-05-16 13:25 ` Arkadiusz Hiler
2017-05-16 13:25 ` [PATCH i-g-t 13/13] tests/gem_exec_nop: Rename signal() to fence_signal() Arkadiusz Hiler
2017-05-18 8:09 ` [PATCH i-g-t v2 00/13] Fix IGTs for Android Petri Latvala
13 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:25 UTC (permalink / raw)
To: intel-gfx
Currently whole igt_kms.c is disabled while compiling on Android without
cairo, so this tests does not compile.
There should be cleaner a way to disable only cairo dependant parts
which should allow us to enable at least some of the KMS tests, but
that's a bigger rework for another time.
v2: simplified #ifs on CAIRO/ANDROID (P. Latvala)
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tests/gem_exec_nop.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tests/gem_exec_nop.c b/tests/gem_exec_nop.c
index 440e357..d96f068 100644
--- a/tests/gem_exec_nop.c
+++ b/tests/gem_exec_nop.c
@@ -139,6 +139,7 @@ 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, \
@@ -183,6 +184,7 @@ 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)
{
@@ -681,8 +683,10 @@ igt_main
igt_subtest("context-sequential")
sequential(device, handle, FORKED | CONTEXT, 150);
+#if !defined(ANDROID) || ANDROID_HAS_CAIRO
igt_subtest("headless")
headless(device, handle);
+#endif
igt_fixture {
igt_stop_hang_detector();
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t 13/13] tests/gem_exec_nop: Rename signal() to fence_signal()
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (11 preceding siblings ...)
2017-05-16 13:25 ` [PATCH i-g-t 12/13] tests/gem_exec_nop: Disable headless subtest on cairoless Android Arkadiusz Hiler
@ 2017-05-16 13:25 ` Arkadiusz Hiler
2017-05-16 13:48 ` Chris Wilson
2017-05-18 8:09 ` [PATCH i-g-t v2 00/13] Fix IGTs for Android Petri Latvala
13 siblings, 1 reply; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-16 13:25 UTC (permalink / raw)
To: intel-gfx
Unfortunately <signal.h> is included through some obscure dependencies
when using bionic, so we have a name clash on signal().
Changed the test function name to fence_signal() to avoid this, but left
the test cases names unchanged.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tests/gem_exec_nop.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/gem_exec_nop.c b/tests/gem_exec_nop.c
index d96f068..d61e120 100644
--- a/tests/gem_exec_nop.c
+++ b/tests/gem_exec_nop.c
@@ -517,9 +517,9 @@ static bool fence_wait(int fence)
return poll(&(struct pollfd){fence, POLLIN}, 1, -1) == 1;
}
-static void signal(int fd, uint32_t handle,
- unsigned ring_id, const char *ring_name,
- int timeout)
+static void fence_signal(int fd, uint32_t handle,
+ unsigned ring_id, const char *ring_name,
+ int timeout)
{
#define NFENCES 512
struct drm_i915_gem_execbuffer2 execbuf;
@@ -659,11 +659,11 @@ igt_main
igt_subtest_f("%s", e->name)
single(device, handle, e->exec_id | e->flags, e->name);
igt_subtest_f("signal-%s", e->name)
- signal(device, handle, e->exec_id | e->flags, e->name, 5);
+ fence_signal(device, handle, e->exec_id | e->flags, e->name, 5);
}
igt_subtest("signal-all")
- signal(device, handle, -1, "all", 150);
+ fence_signal(device, handle, -1, "all", 150);
igt_subtest("series")
series(device, handle, 150);
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 13/13] tests/gem_exec_nop: Rename signal() to fence_signal()
2017-05-16 13:25 ` [PATCH i-g-t 13/13] tests/gem_exec_nop: Rename signal() to fence_signal() Arkadiusz Hiler
@ 2017-05-16 13:48 ` Chris Wilson
0 siblings, 0 replies; 29+ messages in thread
From: Chris Wilson @ 2017-05-16 13:48 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: intel-gfx
On Tue, May 16, 2017 at 03:25:02PM +0200, Arkadiusz Hiler wrote:
> Unfortunately <signal.h> is included through some obscure dependencies
> when using bionic, so we have a name clash on signal().
>
> Changed the test function name to fence_signal() to avoid this, but left
> the test cases names unchanged.
Ack.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 04/13] lib/igt_aux: Make procps optional
2017-05-16 13:24 ` [PATCH i-g-t 04/13] lib/igt_aux: Make procps optional Arkadiusz Hiler
@ 2017-05-16 13:50 ` Chris Wilson
0 siblings, 0 replies; 29+ messages in thread
From: Chris Wilson @ 2017-05-16 13:50 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: intel-gfx
On Tue, May 16, 2017 at 03:24:53PM +0200, Arkadiusz Hiler wrote:
> Android does not have procps and it's not easy to compile it as a
> dependency.
>
> We can provide alternative, "naive" implementation that just shells out
> to external commands (i.e. pkill and lsof) in case we do not have the
> library.
This patch should carry a health warning: do not mix with kasan. :-p
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 07/13] tests/Android.mk: Add perf to skip list
2017-05-16 13:24 ` [PATCH i-g-t 07/13] tests/Android.mk: Add perf " Arkadiusz Hiler
@ 2017-05-16 13:51 ` Chris Wilson
0 siblings, 0 replies; 29+ messages in thread
From: Chris Wilson @ 2017-05-16 13:51 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: intel-gfx
On Tue, May 16, 2017 at 03:24:56PM +0200, Arkadiusz Hiler wrote:
> It does not build on Android with top libdrm.
Ah, libdrm strikes back. I was thinking that Android is definitely a
target for the kernel interface so wondered how much work it will be to
fix.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 05/13] chamelium: Fix build issues on Android
2017-05-16 13:24 ` [PATCH i-g-t 05/13] chamelium: Fix build issues on Android Arkadiusz Hiler
@ 2017-05-16 14:06 ` Michal Wajdeczko
2017-05-18 11:48 ` [PATCH] " Arkadiusz Hiler
0 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2017-05-16 14:06 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: intel-gfx
On Tue, May 16, 2017 at 03:24:54PM +0200, Arkadiusz Hiler wrote:
> Makefile.sources are included 1:1 in Android.mk files, and are not
> parsed by automake. And yet those had some automake conditional logic.
> Moving it to .am file is enough for now.
Hmm, all sources shall be listed only in Makefile.sources, which in turn,
shall not have any logic.
>
> Also igt_chamelium.h included config.h without proper "HAVE_CONFIG_H"
> guard, and the file itself was included unconditionally.
>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
> lib/Makefile.am | 7 +++++++
> lib/Makefile.sources | 7 -------
> lib/igt.h | 2 ++
> lib/igt_chamelium.h | 3 +++
> tests/Makefile.am | 6 ++++++
> tests/Makefile.sources | 6 ------
> 6 files changed, 18 insertions(+), 13 deletions(-)
>
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> index c0ddf29..91e72c4 100644
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -22,6 +22,13 @@ if !HAVE_LIBDRM_INTEL
> stubs/drm/intel_bufmgr.h
> endif
>
> +if HAVE_CHAMELIUM
> +lib_source_list += \
> + igt_chamelium.h \
> + igt_chamelium.c \
> + $(NULL)
> +endif
> +
Try this:
if HAVE_CHAMELIUM
lib_source_list += $(chamelium_lib_source_list)
endif
> AM_CPPFLAGS = -I$(top_srcdir)
> AM_CFLAGS = \
> $(CWARNFLAGS) \
> diff --git a/lib/Makefile.sources b/lib/Makefile.sources
> index 6348487..53fdb54 100644
> --- a/lib/Makefile.sources
> +++ b/lib/Makefile.sources
> @@ -85,13 +85,6 @@ lib_source_list = \
> igt_kmod.h \
> $(NULL)
>
> -if HAVE_CHAMELIUM
> -lib_source_list += \
> - igt_chamelium.h \
> - igt_chamelium.c \
> - $(NULL)
> -endif
Try this:
chamelium_lib_source_list += \
igt_chamelium.h \
igt_chamelium.c \
$(NULL)
> -
> .PHONY: version.h.tmp
>
> # leaving a space here to work around automake's conditionals
> diff --git a/lib/igt.h b/lib/igt.h
> index a97923e..a069deb 100644
> --- a/lib/igt.h
> +++ b/lib/igt.h
> @@ -38,7 +38,9 @@
> #include "igt_kms.h"
> #include "igt_pm.h"
> #include "igt_stats.h"
> +#ifdef HAVE_CHAMELIUM
> #include "igt_chamelium.h"
> +#endif
> #include "instdone.h"
> #include "intel_batchbuffer.h"
> #include "intel_chipset.h"
> diff --git a/lib/igt_chamelium.h b/lib/igt_chamelium.h
> index f421d83..15f6024 100644
> --- a/lib/igt_chamelium.h
> +++ b/lib/igt_chamelium.h
> @@ -26,7 +26,10 @@
> #ifndef IGT_CHAMELIUM_H
> #define IGT_CHAMELIUM_H
>
> +#ifdef HAVE_CONFIG_H
> #include "config.h"
> +#endif
> +
> #include "igt.h"
> #include <stdbool.h>
>
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 05681d5..61c7a15 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -12,6 +12,12 @@ if HAVE_LIBDRM_VC4
> TESTS_progs_M += $(VC4_TESTS_M)
> endif
>
> +if HAVE_CHAMELIUM
> +TESTS_progs_M += \
> + chamelium \
> + $(NULL)
> +endif
> +
> if BUILD_TESTS
> test-list.txt: Makefile.sources
> @echo TESTLIST > $@
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index 9553e4d..df1fee5 100644
> --- a/tests/Makefile.sources
> +++ b/tests/Makefile.sources
> @@ -154,12 +154,6 @@ TESTS_progs_M = \
> meta_test \
> $(NULL)
>
> -if HAVE_CHAMELIUM
> -TESTS_progs_M += \
> - chamelium \
> - $(NULL)
> -endif
> -
Maybe instead of removing this from .sources, try this:
CHAMELIUM_TESTS_progs_M += \
chamelium \
$(NULL)
and then use it in .am under HAVE_CHAMELIUM
Michal
> TESTS_progs_XM = \
> gem_concurrent_all \
> $(NULL)
> --
> 2.9.3
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 06/13] tools/Android.mk: Add guc_logger and l3_parity skip list
2017-05-16 13:24 ` [PATCH i-g-t 06/13] tools/Android.mk: Add guc_logger and l3_parity skip list Arkadiusz Hiler
@ 2017-05-18 8:07 ` Petri Latvala
2017-05-18 11:54 ` [PATCH i-g-t v2] tools/Android.mk: Add guc_logger and l3_parity to " Arkadiusz Hiler
0 siblings, 1 reply; 29+ messages in thread
From: Petri Latvala @ 2017-05-18 8:07 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: intel-gfx
On Tue, May 16, 2017 at 03:24:55PM +0200, Arkadiusz Hiler wrote:
> Those tools does not build on Android due to "Linux-only" dependencies.
s/does/do/
"to" missing in title.
--
Petri Latvala
>
> Let's blacklist them for now.
>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
> tools/Android.mk | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/Android.mk b/tools/Android.mk
> index 6cdedeb..0602e8c 100644
> --- a/tools/Android.mk
> +++ b/tools/Android.mk
> @@ -59,6 +59,8 @@ 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
> --
> 2.9.3
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t v2 00/13] Fix IGTs for Android
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
` (12 preceding siblings ...)
2017-05-16 13:25 ` [PATCH i-g-t 13/13] tests/gem_exec_nop: Rename signal() to fence_signal() Arkadiusz Hiler
@ 2017-05-18 8:09 ` Petri Latvala
2017-05-18 11:55 ` [PATCH i-g-t v2 00/13] Fix IGTs for Android\ Arkadiusz Hiler
13 siblings, 1 reply; 29+ messages in thread
From: Petri Latvala @ 2017-05-18 8:09 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: intel-gfx
Patches 1-4 and 6-13 are
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Nitpicks on the commit message on patch 6 (replied to it).
--
Petri Latvala
On Tue, May 16, 2017 at 03:24:49PM +0200, Arkadiusz Hiler wrote:
> IGTs are broken for Android since the introduction of dependency on procps. Over
> time other incompatibilities built up.
>
> I took the liberty to fix some of the issues, workaround couple of others and
> blacklist heavily incompatible tools/tests.
>
> It builds on (almost) vanilla AOSP now.
>
> Github: <https://github.com/ivyl/igt/commits/android>
> Howto: <https://gist.github.com/ivyl/1e05af15ae37b575e03dc69e5e2488fc>
> now including docker exmaple / script for your convenience
>
> DEP1: <https://github.com/ivyl/libkmod-android> - just builds Google's one
> DEP2: <https://github.com/android-ia/external_libpciaccess>
>
> We should include a note on Android compatibility in the README and do
> "continuous compilation" of the patches as they arrive on the mailing list,
> otherwise this **will get broken again soon**.
>
> This is long as it is, but not complete yet.
>
> Here are some of more obvious TODOs:
> * introduce something like IGT_HAS_CAIRO define for convenience
> * revise igt_kms dependency on cairo and enable everything what is independent
> * revise kms tests and do the above
> * review all things that are disabled on Android and try to enable them
> * do something less ugly with config.h generation on Android
>
> v2: couple of suggested fixed + everything that was not compatible since last
> patch
>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Robert Foss <robert.foss@collabora.com>
>
>
> Arkadiusz Hiler (13):
> tests/drm_import_export: Include {i915_,}drm.h properly
> Make conditions on HAVE_UDEV consistent
> lib/igt_aux: Include unistd.h for gettid() on Android
> lib/igt_aux: Make procps optional
> chamelium: Fix build issues on Android
> tools/Android.mk: Add guc_logger and l3_parity skip list
> tests/Android.mk: Add perf to skip list
> Android.mk: Fix libkmod use
> Android.mk: Filter out *.h from src files
> Android.mk: Use drm stubs
> tools/Android.mk: Fix zlib inclusion
> tests/gem_exec_nop: Disable headless subtest on cairoless Android
> tests/gem_exec_nop: Rename signal() to fence_signal()
>
> benchmarks/Android.mk | 5 ++++-
> configure.ac | 6 +++++-
> demos/Android.mk | 3 ++-
> lib/Android.mk | 7 ++++---
> lib/Makefile.am | 7 +++++++
> lib/Makefile.sources | 7 -------
> lib/igt.h | 2 ++
> lib/igt_aux.c | 37 +++++++++++++++++++++++++++++++++----
> lib/igt_aux.h | 5 +++++
> lib/igt_chamelium.h | 3 +++
> lib/igt_kmod.h | 4 ++++
> lib/tests/Android.mk | 4 ++--
> tests/Android.mk | 9 +++++----
> tests/Makefile.am | 6 ++++++
> tests/Makefile.sources | 6 ------
> tests/drm_import_export.c | 4 ++--
> tests/gem_exec_nop.c | 14 +++++++++-----
> tests/testdisplay_hotplug.c | 2 +-
> tools/Android.mk | 14 +++++++++-----
> tools/intel_l3_parity.c | 2 +-
> tools/intel_l3_parity.h | 2 +-
> tools/intel_l3_udev_listener.c | 2 +-
> 22 files changed, 106 insertions(+), 45 deletions(-)
>
> --
> 2.9.3
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH] chamelium: Fix build issues on Android
2017-05-16 14:06 ` Michal Wajdeczko
@ 2017-05-18 11:48 ` Arkadiusz Hiler
2017-05-18 12:08 ` Michal Wajdeczko
0 siblings, 1 reply; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-18 11:48 UTC (permalink / raw)
To: intel-gfx
Makefile.sources are included 1:1 in Android.mk files, and are not
parsed by automake. And yet those had some automake conditional logic.
Moving it to .am file is enough for now.
Also igt_chamelium.h included config.h without proper "HAVE_CONFIG_H"
guard, and the file itself was included unconditionally.
v2: keep lists of sources files in Makefile.sources (M. Wajdeczko)
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
lib/Makefile.am | 4 ++++
lib/Makefile.sources | 8 +++-----
lib/igt.h | 2 ++
lib/igt_chamelium.h | 3 +++
tests/Makefile.am | 4 ++++
tests/Makefile.sources | 4 +---
6 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/lib/Makefile.am b/lib/Makefile.am
index c0ddf29..d616da0 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -22,6 +22,10 @@ if !HAVE_LIBDRM_INTEL
stubs/drm/intel_bufmgr.h
endif
+if HAVE_CHAMELIUM
+lib_source_list += $(chamelium_lib_source_list)
+endif
+
AM_CPPFLAGS = -I$(top_srcdir)
AM_CFLAGS = \
$(CWARNFLAGS) \
diff --git a/lib/Makefile.sources b/lib/Makefile.sources
index 6348487..3a1e739 100644
--- a/lib/Makefile.sources
+++ b/lib/Makefile.sources
@@ -85,12 +85,10 @@ lib_source_list = \
igt_kmod.h \
$(NULL)
-if HAVE_CHAMELIUM
-lib_source_list += \
- igt_chamelium.h \
- igt_chamelium.c \
+chamelium_lib_source_list = \
+ igt_chamelium.h \
+ igt_chamelium.c \
$(NULL)
-endif
.PHONY: version.h.tmp
diff --git a/lib/igt.h b/lib/igt.h
index a97923e..a069deb 100644
--- a/lib/igt.h
+++ b/lib/igt.h
@@ -38,7 +38,9 @@
#include "igt_kms.h"
#include "igt_pm.h"
#include "igt_stats.h"
+#ifdef HAVE_CHAMELIUM
#include "igt_chamelium.h"
+#endif
#include "instdone.h"
#include "intel_batchbuffer.h"
#include "intel_chipset.h"
diff --git a/lib/igt_chamelium.h b/lib/igt_chamelium.h
index f421d83..15f6024 100644
--- a/lib/igt_chamelium.h
+++ b/lib/igt_chamelium.h
@@ -26,7 +26,10 @@
#ifndef IGT_CHAMELIUM_H
#define IGT_CHAMELIUM_H
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
+
#include "igt.h"
#include <stdbool.h>
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 05681d5..0783ac0 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -12,6 +12,10 @@ if HAVE_LIBDRM_VC4
TESTS_progs_M += $(VC4_TESTS_M)
endif
+if HAVE_CHAMELIUM
+TESTS_progs_M += $(CHAMELIUM_TESTS_progs_M)
+endif
+
if BUILD_TESTS
test-list.txt: Makefile.sources
@echo TESTLIST > $@
diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 9553e4d..253fc22 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -154,11 +154,9 @@ TESTS_progs_M = \
meta_test \
$(NULL)
-if HAVE_CHAMELIUM
-TESTS_progs_M += \
+CHAMELIUM_TESTS_progs_M = \
chamelium \
$(NULL)
-endif
TESTS_progs_XM = \
gem_concurrent_all \
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [PATCH i-g-t v2] tools/Android.mk: Add guc_logger and l3_parity to skip list
2017-05-18 8:07 ` Petri Latvala
@ 2017-05-18 11:54 ` Arkadiusz Hiler
0 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-18 11:54 UTC (permalink / raw)
To: intel-gfx
Those tools do not build on Android due to "Linux-only" dependencies.
Let's blacklist them for now.
v2: commit message fixup (P. Latvala)
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
tools/Android.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/Android.mk b/tools/Android.mk
index 6cdedeb..0602e8c 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -59,6 +59,8 @@ 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
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t v2 00/13] Fix IGTs for Android\
2017-05-18 8:09 ` [PATCH i-g-t v2 00/13] Fix IGTs for Android Petri Latvala
@ 2017-05-18 11:55 ` Arkadiusz Hiler
0 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-05-18 11:55 UTC (permalink / raw)
To: Petri Latvala; +Cc: intel-gfx
On Thu, May 18, 2017 at 11:09:06AM +0300, Petri Latvala wrote:
>
> Patches 1-4 and 6-13 are
Send v2 of patch 5 that incorporates Michal's feedback.
> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
>
> Nitpicks on the commit message on patch 6 (replied to it).
Sent fixed version.
Thanks!
--
Cheers,
Arek
> On Tue, May 16, 2017 at 03:24:49PM +0200, Arkadiusz Hiler wrote:
> > IGTs are broken for Android since the introduction of dependency on procps. Over
> > time other incompatibilities built up.
> >
> > I took the liberty to fix some of the issues, workaround couple of others and
> > blacklist heavily incompatible tools/tests.
> >
> > It builds on (almost) vanilla AOSP now.
> >
> > Github: <https://github.com/ivyl/igt/commits/android>
> > Howto: <https://gist.github.com/ivyl/1e05af15ae37b575e03dc69e5e2488fc>
> > now including docker exmaple / script for your convenience
> >
> > DEP1: <https://github.com/ivyl/libkmod-android> - just builds Google's one
> > DEP2: <https://github.com/android-ia/external_libpciaccess>
> >
> > We should include a note on Android compatibility in the README and do
> > "continuous compilation" of the patches as they arrive on the mailing list,
> > otherwise this **will get broken again soon**.
> >
> > This is long as it is, but not complete yet.
> >
> > Here are some of more obvious TODOs:
> > * introduce something like IGT_HAS_CAIRO define for convenience
> > * revise igt_kms dependency on cairo and enable everything what is independent
> > * revise kms tests and do the above
> > * review all things that are disabled on Android and try to enable them
> > * do something less ugly with config.h generation on Android
> >
> > v2: couple of suggested fixed + everything that was not compatible since last
> > patch
> >
> > Cc: Petri Latvala <petri.latvala@intel.com>
> > Cc: Antonio Argenziano <antonio.argenziano@intel.com>
> > Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Robert Foss <robert.foss@collabora.com>
> >
> >
> > Arkadiusz Hiler (13):
> > tests/drm_import_export: Include {i915_,}drm.h properly
> > Make conditions on HAVE_UDEV consistent
> > lib/igt_aux: Include unistd.h for gettid() on Android
> > lib/igt_aux: Make procps optional
> > chamelium: Fix build issues on Android
> > tools/Android.mk: Add guc_logger and l3_parity skip list
> > tests/Android.mk: Add perf to skip list
> > Android.mk: Fix libkmod use
> > Android.mk: Filter out *.h from src files
> > Android.mk: Use drm stubs
> > tools/Android.mk: Fix zlib inclusion
> > tests/gem_exec_nop: Disable headless subtest on cairoless Android
> > tests/gem_exec_nop: Rename signal() to fence_signal()
> >
> > benchmarks/Android.mk | 5 ++++-
> > configure.ac | 6 +++++-
> > demos/Android.mk | 3 ++-
> > lib/Android.mk | 7 ++++---
> > lib/Makefile.am | 7 +++++++
> > lib/Makefile.sources | 7 -------
> > lib/igt.h | 2 ++
> > lib/igt_aux.c | 37 +++++++++++++++++++++++++++++++++----
> > lib/igt_aux.h | 5 +++++
> > lib/igt_chamelium.h | 3 +++
> > lib/igt_kmod.h | 4 ++++
> > lib/tests/Android.mk | 4 ++--
> > tests/Android.mk | 9 +++++----
> > tests/Makefile.am | 6 ++++++
> > tests/Makefile.sources | 6 ------
> > tests/drm_import_export.c | 4 ++--
> > tests/gem_exec_nop.c | 14 +++++++++-----
> > tests/testdisplay_hotplug.c | 2 +-
> > tools/Android.mk | 14 +++++++++-----
> > tools/intel_l3_parity.c | 2 +-
> > tools/intel_l3_parity.h | 2 +-
> > tools/intel_l3_udev_listener.c | 2 +-
> > 22 files changed, 106 insertions(+), 45 deletions(-)
> >
> > --
> > 2.9.3
> >
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH] chamelium: Fix build issues on Android
2017-05-18 11:48 ` [PATCH] " Arkadiusz Hiler
@ 2017-05-18 12:08 ` Michal Wajdeczko
0 siblings, 0 replies; 29+ messages in thread
From: Michal Wajdeczko @ 2017-05-18 12:08 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: intel-gfx
On Thu, May 18, 2017 at 01:48:01PM +0200, Arkadiusz Hiler wrote:
> Makefile.sources are included 1:1 in Android.mk files, and are not
> parsed by automake. And yet those had some automake conditional logic.
> Moving it to .am file is enough for now.
>
> Also igt_chamelium.h included config.h without proper "HAVE_CONFIG_H"
> guard, and the file itself was included unconditionally.
>
> v2: keep lists of sources files in Makefile.sources (M. Wajdeczko)
>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Regards,
Michal
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android
2017-04-19 14:23 ` Jani Nikula
@ 2017-04-20 10:33 ` Arkadiusz Hiler
0 siblings, 0 replies; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-04-20 10:33 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Wed, Apr 19, 2017 at 05:23:46PM +0300, Jani Nikula wrote:
> On Wed, 19 Apr 2017, Arkadiusz Hiler <arkadiusz.hiler@intel.com> wrote:
> > On Wed, Apr 19, 2017 at 03:22:19PM +0300, Jani Nikula wrote:
> >> On Wed, 19 Apr 2017, Arkadiusz Hiler <arkadiusz.hiler@intel.com> wrote:
> >> > We define gettid() using syscall() because glibc does not provide a
> >> > wrapper.
> >> >
> >> > Android's bionic got the syscall covered though.
> >> >
> >> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> >> > ---
> >> > lib/igt_aux.h | 5 +++++
> >> > 1 file changed, 5 insertions(+)
> >> >
> >> > diff --git a/lib/igt_aux.h b/lib/igt_aux.h
> >> > index e62858e..54b9716 100644
> >> > --- a/lib/igt_aux.h
> >> > +++ b/lib/igt_aux.h
> >> > @@ -43,7 +43,12 @@ extern int num_trash_bos;
> >> > #define NSEC_PER_SEC (1000*USEC_PER_SEC)
> >> >
> >> > /* signal interrupt helpers */
> >> > +#ifdef ANDROID
> >>
> >> Seems like this should be something like HAVE_GETTID, defined by
> >> configure or by android makefiles?
> >
> > Yeah, but that's not that easy (yet) and that's not the only area which
> > would use it - notice the thing with cairo from the cover letter.
> >
> > config.h is generated in a ugly way for Android - lib/Android.mk does
> > that. Also if you ./configure it stops compiling for Android causing
> > confusing error.
> >
> > Whole area could use some heavy reworking.
> >
> > One approach would be to mimic what other projects do:
> >
> > * have config_android.h with set of sane #defines (as environment is
> > more static and there is no ac/am)
> >
> > * don't define HAVE_CONFIG_H and just `-include config_android.h` on...
> > Android
> >
> > * add gettid() discovery via ac for Linux (I don't think that any
> > libc other than bionic wraps that call though)
> >
> >
> > But that would made a whole series.
> > I would like to go with #ifdef ANDROID for now.
>
> Fair enough.
>
> It's just that I cringe seeing #ifdef <ENVIRONMENT> instead of #ifdef
> <FEATURE>, when <ENVIRONMENT> and <FEATURE> are not interchangeable or
> 1:1. For example, glibc might include gettid later.
>
> BR,
> Jani.
I completetly get that, I had mixed feeling adding the ifdef.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android
2017-04-19 14:02 ` Arkadiusz Hiler
@ 2017-04-19 14:23 ` Jani Nikula
2017-04-20 10:33 ` Arkadiusz Hiler
0 siblings, 1 reply; 29+ messages in thread
From: Jani Nikula @ 2017-04-19 14:23 UTC (permalink / raw)
To: Arkadiusz Hiler; +Cc: intel-gfx
On Wed, 19 Apr 2017, Arkadiusz Hiler <arkadiusz.hiler@intel.com> wrote:
> On Wed, Apr 19, 2017 at 03:22:19PM +0300, Jani Nikula wrote:
>> On Wed, 19 Apr 2017, Arkadiusz Hiler <arkadiusz.hiler@intel.com> wrote:
>> > We define gettid() using syscall() because glibc does not provide a
>> > wrapper.
>> >
>> > Android's bionic got the syscall covered though.
>> >
>> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
>> > ---
>> > lib/igt_aux.h | 5 +++++
>> > 1 file changed, 5 insertions(+)
>> >
>> > diff --git a/lib/igt_aux.h b/lib/igt_aux.h
>> > index e62858e..54b9716 100644
>> > --- a/lib/igt_aux.h
>> > +++ b/lib/igt_aux.h
>> > @@ -43,7 +43,12 @@ extern int num_trash_bos;
>> > #define NSEC_PER_SEC (1000*USEC_PER_SEC)
>> >
>> > /* signal interrupt helpers */
>> > +#ifdef ANDROID
>>
>> Seems like this should be something like HAVE_GETTID, defined by
>> configure or by android makefiles?
>
> Yeah, but that's not that easy (yet) and that's not the only area which
> would use it - notice the thing with cairo from the cover letter.
>
> config.h is generated in a ugly way for Android - lib/Android.mk does
> that. Also if you ./configure it stops compiling for Android causing
> confusing error.
>
> Whole area could use some heavy reworking.
>
> One approach would be to mimic what other projects do:
>
> * have config_android.h with set of sane #defines (as environment is
> more static and there is no ac/am)
>
> * don't define HAVE_CONFIG_H and just `-include config_android.h` on...
> Android
>
> * add gettid() discovery via ac for Linux (I don't think that any
> libc other than bionic wraps that call though)
>
>
> But that would made a whole series.
> I would like to go with #ifdef ANDROID for now.
Fair enough.
It's just that I cringe seeing #ifdef <ENVIRONMENT> instead of #ifdef
<FEATURE>, when <ENVIRONMENT> and <FEATURE> are not interchangeable or
1:1. For example, glibc might include gettid later.
BR,
Jani.
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android
2017-04-19 12:22 ` Jani Nikula
@ 2017-04-19 14:02 ` Arkadiusz Hiler
2017-04-19 14:23 ` Jani Nikula
0 siblings, 1 reply; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-04-19 14:02 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Wed, Apr 19, 2017 at 03:22:19PM +0300, Jani Nikula wrote:
> On Wed, 19 Apr 2017, Arkadiusz Hiler <arkadiusz.hiler@intel.com> wrote:
> > We define gettid() using syscall() because glibc does not provide a
> > wrapper.
> >
> > Android's bionic got the syscall covered though.
> >
> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > ---
> > lib/igt_aux.h | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/lib/igt_aux.h b/lib/igt_aux.h
> > index e62858e..54b9716 100644
> > --- a/lib/igt_aux.h
> > +++ b/lib/igt_aux.h
> > @@ -43,7 +43,12 @@ extern int num_trash_bos;
> > #define NSEC_PER_SEC (1000*USEC_PER_SEC)
> >
> > /* signal interrupt helpers */
> > +#ifdef ANDROID
>
> Seems like this should be something like HAVE_GETTID, defined by
> configure or by android makefiles?
Yeah, but that's not that easy (yet) and that's not the only area which
would use it - notice the thing with cairo from the cover letter.
config.h is generated in a ugly way for Android - lib/Android.mk does
that. Also if you ./configure it stops compiling for Android causing
confusing error.
Whole area could use some heavy reworking.
One approach would be to mimic what other projects do:
* have config_android.h with set of sane #defines (as environment is
more static and there is no ac/am)
* don't define HAVE_CONFIG_H and just `-include config_android.h` on...
Android
* add gettid() discovery via ac for Linux (I don't think that any
libc other than bionic wraps that call though)
But that would made a whole series.
I would like to go with #ifdef ANDROID for now.
--
Cheers,
Arek
> > +#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 */
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android
2017-04-19 11:01 ` [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android Arkadiusz Hiler
@ 2017-04-19 12:22 ` Jani Nikula
2017-04-19 14:02 ` Arkadiusz Hiler
0 siblings, 1 reply; 29+ messages in thread
From: Jani Nikula @ 2017-04-19 12:22 UTC (permalink / raw)
To: Arkadiusz Hiler, intel-gfx
On Wed, 19 Apr 2017, Arkadiusz Hiler <arkadiusz.hiler@intel.com> wrote:
> We define gettid() using syscall() because glibc does not provide a
> wrapper.
>
> Android's bionic got the syscall covered though.
>
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
> lib/igt_aux.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/lib/igt_aux.h b/lib/igt_aux.h
> index e62858e..54b9716 100644
> --- a/lib/igt_aux.h
> +++ b/lib/igt_aux.h
> @@ -43,7 +43,12 @@ extern int num_trash_bos;
> #define NSEC_PER_SEC (1000*USEC_PER_SEC)
>
> /* signal interrupt helpers */
> +#ifdef ANDROID
Seems like this should be something like HAVE_GETTID, defined by
configure or by android makefiles?
BR,
Jani.
> +#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 */
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android
2017-04-19 11:01 [PATCH i-g-t 00/13] Fix IGTs for Android Arkadiusz Hiler
@ 2017-04-19 11:01 ` Arkadiusz Hiler
2017-04-19 12:22 ` Jani Nikula
0 siblings, 1 reply; 29+ messages in thread
From: Arkadiusz Hiler @ 2017-04-19 11:01 UTC (permalink / raw)
To: intel-gfx
We define gettid() using syscall() because glibc does not provide a
wrapper.
Android's bionic got the syscall covered though.
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
lib/igt_aux.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index e62858e..54b9716 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -43,7 +43,12 @@ 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 */
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 29+ messages in thread
end of thread, other threads:[~2017-05-18 12:08 UTC | newest]
Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-16 13:24 [PATCH i-g-t v2 00/13] Fix IGTs for Android Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 01/13] tests/drm_import_export: Include {i915_, }drm.h properly Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 02/13] Make conditions on HAVE_UDEV consistent Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 04/13] lib/igt_aux: Make procps optional Arkadiusz Hiler
2017-05-16 13:50 ` Chris Wilson
2017-05-16 13:24 ` [PATCH i-g-t 05/13] chamelium: Fix build issues on Android Arkadiusz Hiler
2017-05-16 14:06 ` Michal Wajdeczko
2017-05-18 11:48 ` [PATCH] " Arkadiusz Hiler
2017-05-18 12:08 ` Michal Wajdeczko
2017-05-16 13:24 ` [PATCH i-g-t 06/13] tools/Android.mk: Add guc_logger and l3_parity skip list Arkadiusz Hiler
2017-05-18 8:07 ` Petri Latvala
2017-05-18 11:54 ` [PATCH i-g-t v2] tools/Android.mk: Add guc_logger and l3_parity to " Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 07/13] tests/Android.mk: Add perf " Arkadiusz Hiler
2017-05-16 13:51 ` Chris Wilson
2017-05-16 13:24 ` [PATCH i-g-t 08/13] Android.mk: Fix libkmod use Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 09/13] Android.mk: Filter out *.h from src files Arkadiusz Hiler
2017-05-16 13:24 ` [PATCH i-g-t 10/13] Android.mk: Use drm stubs Arkadiusz Hiler
2017-05-16 13:25 ` [PATCH i-g-t 11/13] tools/Android.mk: Fix zlib inclusion Arkadiusz Hiler
2017-05-16 13:25 ` [PATCH i-g-t 12/13] tests/gem_exec_nop: Disable headless subtest on cairoless Android Arkadiusz Hiler
2017-05-16 13:25 ` [PATCH i-g-t 13/13] tests/gem_exec_nop: Rename signal() to fence_signal() Arkadiusz Hiler
2017-05-16 13:48 ` Chris Wilson
2017-05-18 8:09 ` [PATCH i-g-t v2 00/13] Fix IGTs for Android Petri Latvala
2017-05-18 11:55 ` [PATCH i-g-t v2 00/13] Fix IGTs for Android\ Arkadiusz Hiler
-- strict thread matches above, loose matches on Subject: below --
2017-04-19 11:01 [PATCH i-g-t 00/13] Fix IGTs for Android Arkadiusz Hiler
2017-04-19 11:01 ` [PATCH i-g-t 03/13] lib/igt_aux: Include unistd.h for gettid() on Android Arkadiusz Hiler
2017-04-19 12:22 ` Jani Nikula
2017-04-19 14:02 ` Arkadiusz Hiler
2017-04-19 14:23 ` Jani Nikula
2017-04-20 10:33 ` Arkadiusz Hiler
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.