summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-08gem_wsim: Asymmetrical 1-to-n workloadsTvrtko Ursulin
Simulates a single decoder feeding multiple processing and encoding pipelines. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08gem_wsim: Fix heartbeats in GT2 modeTvrtko Ursulin
VCS2 needs to be redirected to BCS in the remapping mode otherwise the update will get missed. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08media-bench.pl: Add GT2 modeTvrtko Ursulin
So gem_wsim can be driven in it. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08media-bench.pl: Verbose optionTvrtko Ursulin
For time being just displays the saturation finding steps. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08gem_wsim: Detect invalid duration rangeTvrtko Ursulin
Maximum has to be larger than minimum and all values positive. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08media-bench.pl: Include gem_wsim -d in the evaluationTvrtko Ursulin
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08gem_wsim: Late balancing decision modeTvrtko Ursulin
An approximation of in kernel balancing where balancing decision is postponed to just before submitting the batch for execution. This is implemented by waiting on data dependencies in userspace before submitting each batch. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08media-bench.pl: Add context balancer to the listTvrtko Ursulin
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08gem_wsim: Add static context balancerTvrtko Ursulin
This one assigns VCS engines for each created context in a round- robin fashion. By default each client starts the assignment from the first engine. In global mode the engines are assigned in the round-robin fashion between all the clients - which is identical to the i915 behaviour. Important difference is that doing it from gem_wsim means the assignment always start from a known point so the run-to-run behaviour is identical and repeatable, contrary to when i915 round- robin assignment is used. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08gem_wsim: Added missing -H help textTvrtko Ursulin
Also check that the usage makes sense. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-06-08configure.ac: Define HAVE_CHAMELIUM in config.hPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07igt/vc4_dmabuf_poll: Add a test for polling to wait for dmabuf fences.Eric Anholt
This successfully catches vc4's lack of dmabuf fencing. Signed-off-by: Eric Anholt <eric@anholt.net>
2017-06-07ffs: Include strings.hArkadiusz Hiler
ffs() was used in couple of places without explicitly including strings.h. On a few libc implementation this is done implicitly through other headers, but let's do not rely on that behavior. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07benchmarks/gem_wsim: Add LOCAL fence definesArkadiusz Hiler
Same as in other benchmarks using them, as not every system is updated with libdrm having those defines. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07tests/gem_exec_nop: Rename signal() to fence_signal()Arkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07tests/gem_exec_nop: Disable headless subtest on cairoless AndroidArkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07tools/Android.mk: Fix zlib inclusionArkadiusz Hiler
Add dependency on libz instead of doing path magic. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07Android.mk: Use drm stubsArkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07Android.mk: Filter out *.h from src filesArkadiusz Hiler
Newer Android's build system complains about unused files if we leave those there. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07Android.mk: Fix libkmod useArkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07tests/Android.mk: Add perf to skip listArkadiusz Hiler
It does not build on Android with top libdrm. Temporary hax. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07tools/Android.mk: Add guc_logger and l3_parity skip listArkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07chamelium: Fix build issues on AndroidArkadiusz Hiler
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> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
2017-06-07lib/igt_aux: Make procps optionalArkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07lib/igt_aux: Include unistd.h for gettid() on AndroidArkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07Make conditions on HAVE_UDEV consistentArkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07tests/drm_import_export: Include {i915_,}drm.h properlyArkadiusz Hiler
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> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-07kms_cursor_legacy: Add a burner thread to make basic-busy-* pass.Maarten Lankhorst
This appears to be required on SNB, or else we miss a lot of interrupts. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-06-07tests/kms_properties: Allow setting all connector properties now.Maarten Lankhorst
i915 connector properties have been converted to atomic, so all properties can now be set. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-06-06tests/kms_rotation_crc: Keep primary plane enabled while testing.Maarten Lankhorst
This will force less watermarks to be allcoated to the sprite plane, making it easy to hit a underrun! Unfortunately the FIFO underrun wasprevented by skl_plane_downscale_amount, but fixed with Ville's patch series. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-06-06tests/kms_rotation_crc: Implement stricter rotation testsMaarten Lankhorst
This makes kms_rotation_crc also test a case where a small strip is tested on the top or left side of the screen. It allows us to ensure more accurately that the rotation is shown correctly on the screen. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-06-06tests/kms_cursor_legacy: Prepare for non-square rotation testsMaarten Lankhorst
No functional changes yet, just making sure that it works as expected. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-06-06Fix the mac address definition typo in tools/intel_gvtg_test.Terrence Xu
Changed the "%2X" to "%02X", to prevent padding with spaces, which breaks qemu command line arguments when first RANDOM is <0x10. Signed-off-by: Sarvela Tomi P <tomi.p.sarvela@intel.com> Signed-off-by: Terrence Xu <terrence.xu@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-06-06tests/kms_setmode: Dynamic crtc/connector combinationsHarry Wentland
Create crtc/connector combinations based on actual adapter information obtained from drmModeRes. Also set MAX_CRTCs to 6 for AMD GPUs. Signed-off-by: Harry Wentland <harry.wentland@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com>
2017-06-01tests/kms_cursor_crc: Test non-square cursors on IVB+Ville Syrjälä
IVB+ have the cursor "FBC" feature, meaning they support a somewhat limited form of non-square cursors. Let's test that. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2017-05-31lib: Moving gem_execbuf_wr to ioctl_wrappersLukasz Fiedorowicz
gem_execbuf_wr was duplicated in multiple places. Moving everything to lib/ Signed-off-by: Lukasz Fiedorowicz <lukasz.fiedorowicz@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-30igt: Fix detection of missing flexTvrtko Ursulin
AM_PROG_FLEX macro will set the LEX variable using the missing script when the flex is not present. This will confuse the configure.ac check, which expects the AC_PROG_FLEX behaviour, and will so fail to detect the missing flex: AS_IF([test x"$LEX" != "x:" -a x"$YACC" != xyacc], [enable_assembler=yes], [enable_assembler=no]) This is because AM_PROG_LEX sets the LEX variable to "${SHELL} /home/sc/intel-gpu-tools/build-aux/missing flex", while AC_PROG_LEX would set it to ":". If for some reason we really need to keep AM_PROG_LEX, alternative fix could be something like this placed before the above AS_IF check: AC_MSG_CHECKING([checking for working flex]) if ! eval "$LEX --version >/dev/null 2>&1"; then AC_MSG_RESULT([failed]) LEX=: else AC_MSG_RESULT([pass]) fi Note the evil eval needed to recursively expand variables. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-05-24igt/gem_shrink: Exercise concurrent calls to i915_gem_shrink()Chris Wilson
Just recently I once again made the mistake of thinking we could do a plain mutex_lock() inside i915_gem_shrink(). However, such a lock is liable to cyclic deadlocks between multiple relcaimers. This can be reported by lockdep, but we need contention in the shrinker for it to spot this particular mistake. The easiest way to explicit cause contention is via concurrent calls to debugfs/i915_drop_caches whilst the GPU is busy. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-05-24media-bench.pl: More tweak to saturation point findingTvrtko Ursulin
Plus a help text correction and calibration speed-up in -R and -T modes. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23media-bench.pl: Support GPU aggregate idle statsTvrtko Ursulin
Record it within this script since trace.pl added support. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23media-bench.pl: Add option to specify workloads directlyTvrtko Ursulin
New option (-w) allows direct pass-through to gem_wsim for cases when heterogenous workloads, or even additional parameters to gem_wsim need to be tested. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23trace.pl: Option to draw the aggreate GPU busy timelineTvrtko Ursulin
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23trace.pl: Add aggregate GPU idle/busy statTvrtko Ursulin
Merge and flatten all the engine timelines to produce an aggregate stat. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23media-bench.pl: Add global balancing modeTvrtko Ursulin
In addition: * optimize saturation point finding * fix wps target modes * always use -R, it is pointless not to Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23gem_wsim: Add global balancing modeTvrtko Ursulin
In this mode ('-G' on the command line) all balancing operations are routed via the first client so the complete balancing state is shared. In other words the overall balancing behaviours is like there is only one client submitting the aggregate workload. This can help with the observed metrics and lead to better balancing decisions in a lot of cases. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23gem_wsim: Move seqno status page access to helpersTvrtko Ursulin
Refactoring for upcoming changes. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23gem_wsim: Move seqno allocation and query into helpersTvrtko Ursulin
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23gem_wsim: Convert clients to threadsTvrtko Ursulin
Will make the userspace balancing daemon simulation easier. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-23igt/gem_mmap_wc: Move the require mmap-wc to the fixtureChris Wilson
Not all subtests remembered their requires, so do it from the caller and catch all at once. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-05-23igt/gem_exec_latency: Check for WC mmaps before useChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>