summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2017-09-08build: Nuke #ifdef HAVE_CONFIG_H cargo-cultDaniel Vetter
We have it. Daniel Stone said the #ifdef HAVE_CONFIG_H comes from the X11 transition to the modular build, where in the imake -> modular build transition config.h wasn't universally available. Now we just make this a requirement (so yeah Android better generate one too). v2: Improve commit message a bit. Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-09-08build: Define _GNU_SOURCE in Makefile.amDaniel Vetter
In meson I want to just set this everywhere (no reason not to), and doing so will allow us to clean up a few things. But that means autofoo needs to follow suit. v2: Rebase. Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2017-09-08tests/kms_properties: Require atomic for the atomic invalid props testVille Syrjälä
The invalid props test forgot to check for atomic. Add the required check. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2017-09-08tests/kms_draw_crc: Skip mmap_wc tests if the platforms doesn't support mmap_wcVille Syrjälä
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2017-09-08Fix compiler warnings about printf() argumentsVille Syrjälä
gem_spin_batch.c:51:13: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long unsigned int’ [-Wformat=] intel_opregion_decode.c:313:9: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘uint64_t {aka const long long unsigned int}’ [-Wformat=] Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2017-09-07igt/gem_exec_suspend: Try to suspend with a pending GPU hangChris Wilson
Ensure that we can suspend the GPU even if it is currently busy in an indefinite loop, requiring us to declare the task hung. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2017-09-07igt/gem_eio: i915.reset is no longer a booleanChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2017-09-07igt/gem_exec_fence: Exercise syncobj API (The forgotten tests)Chris Wilson
Due to premature patch pushing, lots of tests remain outstanding. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102417 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-09-07igt/gem_exec_scheduler: Demonstrate priority inversion between full ringsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-09-07igt/gem_exec_schedule: Basic tests for preemptionChris Wilson
We queue N low priority hanging batches across the engines and check that our high priority write over takes them. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2017-09-07igt/gem_exec_schedule: Exercise reordering with many priority levelsChris Wilson
Apply a little more stress to the scheduler. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2017-09-07igt/gem_exec_schedule: Do not overcommit batches to the ringChris Wilson
Measure the ring_size so we don't overfill it and block until the GPU hangs. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-09-06igt/gem_ringfill: Prime execbuf before measuring ring sizeChris Wilson
Make sure that our buffers are ready and loaded to reduce the initial stall. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2017-09-06igt/gem_userptr_blits: Errors from gup are permanentChris Wilson
After triggering an error (such as trying to use userptr on a GTT mmaping), we store the EFAULT on the object permanently. So to test the error, we must sacrifice the object and recreate the userptr handle. We restrict the error to just one of the overlapping userptr handles to check the object independence. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100596 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2017-09-06igt/pm_rpm: Use libc 'ftw' rather than opencoding our own filetree walkChris Wilson
By using ftw, we avoid the issue of having to handle directory recursion ourselves and can focus on the test of checking the reading a sysfs/debugfs does not break runtime suspend. In the process, disregard errors when opening the individual files as they may fail for other reasons. v2: Bracket the file open/close with the wait_for_suspended() tests. Whilst the fd is open, it may be keeping the device awake, e.g. i915_forcewake_user. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Tested-by: Jari Tahvanainen <jari.tahvanainen@intel.com>
2017-09-05Use PATH_MAX to fix some sprintf-into-short-buffers warnings.Eric Anholt
Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-09-05Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT"Daniel Vetter
This reverts commit effb78b382895c19d0946c217cee3602dcd94c50. cibuglog is for filtering unstable results, we can't simply opt to not test PSR. Acked-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2017-09-04tests/kms_frontbuffer_tracking: convert macros to functionsDaniel Vetter
Macros that should be C functions but aren't are really hard to read and confusing. Convert them over. v2: Clean up commit message and keep printing the line numbers (Paulo). v3: Actually git add (silly me). Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2017-08-31pm_rps: Changes in waitboost scenarioKatarzyna Dec
CI is observing sporadical failures in pm_rps subtests. There are a couple of reasons. One of them is the fact that on gen6, gen7 and gen7.5, max frequency (as in the HW limit) is not set to RP0, but the value obtaind from PCODE (which may be different from RP0). Thus the test is operating under wrong assumptions (SOFTMAX == RP0 == BOOST which is simply not the case). Let's compare current frequency with BOOST frequency rather than SOFTMAX to get the test behaviour under control. In boost_freq function I set MAX freq to medium freqency, which ensures that we for sure reach BOOST frequency. This could help with failures with boost frequency failing to drop down. Additionally GPU reset needs to be modified so we are not dependent on kernel's low priority retire worker. Reset method was replaced by igt_force_gpu_reset() and in reset testcase we make sure that we can recover from hang. v2: Commit message, simplified waiting for boost to finish, drop noisy whitespace cleanup. v3: Removed reading from i915_rps_boost_info debugfs because it not the same on every kernel. Removed function waiting for boost. Instead of that I made sure we will reach in boost by setting MAX freq to fmid. v4: Moved proposal with making test drm master to other patch v5: Used igt_force_gpu_reset() to reset GPU. Modified "reset" testcase. v6: Comments changes and update. v7: Fixing typos v8: Fixing another typos in comments and commit msg Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jeff Mcgee <jeff.mcgee@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Jani Saarinen <jani.saarinen@intel.com> Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Acked-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
2017-08-31tests/perf: add Geminilake supportLionel Landwerlin
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
2017-08-31tests/perf: add Kabylake supportLionel Landwerlin
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
2017-08-30tests/chamelium: Let the Chamelium itself wait for a stable video inputPaul Kocialkowski
Before capturing video, the Chamelium will always wait for the video input to be stable (and perform the FSM if it was not). This means that there is no need to explicitly do it beforehand. When the receiver needs to be reset, the call will result in a timeout, after which the follow-up call to capture the video will perform the FSM that resets it. Skipping the explicit wait for video input stable allows the Chamelium to perform the FSM directly, which saves valuable time. Removing the associated call does not negatively impact the execution of the CRC and frame comparison tests either. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-30tests/audio: Add suspend and hibernate tests for HDMI signal integrityPaul Kocialkowski
This introduces tests for HDMI signal integrity after suspend and hibernate. They simply test that signal integrity is ensured before and after suspend or hibernate. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-30igt/vgem_basic: Load and unload the module firstChris Wilson
To ensure the module exists, first load it. Then when we try to unload the module (to check that our modprobe interface works), we will not get spurious failures due to -ENOENT (in this case meaning the module did not exist): (vgem_basic:18361) igt-core-DEBUG: Starting subtest: unload (vgem_basic:18361) igt-kmod-DEBUG: Could not remove module vgem (No such file or directory) Test requirement not met in function test_unload, file vgem_basic.c:331: Test requirement: module_unload() == 0 Last errno: 2, No such file or directory Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-08-30tests/kms_atomic: subtest atomic_invalid_params requires CRTCMarta Lofstedt
Check for valid crtc is missing in igt@kms_atomic@atomic_invalid_params. This leads to segfault on machines where the subtest should be skipped. Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
2017-08-29igt: Add gem_closeChris Wilson
What transpired recently was that we allow a single process to create multiple handles to the same VMA (which I broke). Make sure we test! References: https://bugs.freedesktop.org/show_bug.cgi?id=102355 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-08-25tests: chamelium: Eliminate reset when preparing outputPaul Kocialkowski
Resetting the Chamelium when preparing the video output is unnecessary and significant increases the tests run-time. Since all video-related tests work just as well without it, eliminate it. This also adds a call to reset_test in the analog frame dump test, that was missing before, although the chamelium was still reset by the call to prepare_output. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-24intel-ci: Remove generic.testlistPetri Latvala
The list has been unmaintained and unused. The set of tests is a subset of what CI runs in sharded runs so we are running all of them already. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Daniel Vetter <daniel.vetter@intel.com> Acked-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
2017-08-23intel-ci: Add fast chamelium tests to the fast-feedback listPaul Kocialkowski
This adds the fastest chamelium tests to the Intel CI fast-feedback list, with the objective of running in under a minute. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-23tests/chamelium: Introduce fast CRC tests, with a single modePaul Kocialkowski
This introduces a fast fashion of testing display CRC, that only tests a single mode (the highest resolution). It drastically reduces the run time of the test, which is necessary for the fast-feedback test list. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-23tests/chamelium: Introduce fast basic hpd tests, with limited togglesPaul Kocialkowski
This introduces a fast fashion of testing basic hotplug detect, with only 3 toggles. It drastically reduces the run time of the test, which is necessary for the fast-feedback test list. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-22tests/Makefile.am: Wrap audio test with dedicated conditionalPaul Kocialkowski
This uses the dedicated HAVE_AUDIO conditional, that depends on both ALSA and GSL, for wrapping the audio test. This makes the wrapping consistent with what is done for the chamelium test. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-21tests: Introduce audio tests, starting with HDMI signal integrityPaul Kocialkowski
This introduces a new test for audio going through display connectors. It currently contains a single subtest for HDMI signal integrity, but other test cases will be added later on. The test setup consists in using an HDMI-VGA bridge that separates the audio out (via a 3.5 mm jack) and feeding this back to the DUT's line-in where it can be recorded by ALSA with controls correctly configured. The audio test makes use of the audio and ALSA igt libraries helpers. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2017-08-16tests/gem_exec_params: Update the invalid-flag subtest for FENCE_ARRAYJason Ekstrand
Tests for the new flag were added in 3685dabb0ab25eb1. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-08-16intel-ci: Add fast-feedback-simulation.testlistKelvin Gardiner
Added an initial list of fast feedback tests for simulation environments. v2 (Petri): Rebase README, Add the simulation list to EXTRA_DIST. Signed-off-by: Kelvin Gardiner <kelvin.gardiner@intel.com> Signed-off-by: Petri Latvala <petri.latvala@intel.com>
2017-08-15tests/kms_mmap_write_crc: Add drmModeDirtyFB after dirtying fbMaarten Lankhorst
The test shows the need for coherency through the dma-buf sync ioctl's, but forgets to call dirtyfb, without this the FB Is never updated and we will fail anyway. Solve this by adding a drmModeDirtyFB, I've confirmed by adding -n that the test will still faill without prime_sync_end anyway, so the test is still useful. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Marta Löfstedt <marta.lofstedt@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101109 Tested-by: Chris Wilson <chris@chris-wilson.co.uk> #llc Acked-by: Marta Lofstedt <marta.lofstedt@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> #llc
2017-08-15tests/kms_flip: fix spin_batch conversionDaniel Vetter
The goal of these subtests was just to delay a kms operation a little bit. The goal wasn't to - spin until the operation was completed. That results in a gpu hang, and gpu hangs need igt_hang for safety. - complete it before the operation. That's just pointless. Fix it by using the timeout support. This was all broken in the initial conversation: commit 96ec8cb3b5ec1fc2927d6cff8e09930082301d7e Author: Abdiel Janulgue <abdiel.janulgue@linux.intel.com> Date: Sat Oct 29 01:01:05 2016 +0300 igt/kms_flip: Use new igt_spin_batch Note that part of the damage was removed already in commit b0081ea9cb7d39234fd0fcc64dd56ed4f5d50b05 Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Wed Aug 9 11:11:52 2017 +0200 tests/kms_flip: Remove $engine-flip-vs-dpms/modeset But this patch also made things worse, because it remove code that wasn't dead yet (because it didn't remove all the dpms vs spinning batch tests). v2: Augment commit message and use macro for 1s-in-ns. Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com> Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-08-14igt/gem_exec_fence: Exercise syncobj APIChris Wilson
New execbuf API allows to pass arrays of fences as handles rather than allocate lots of fds. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-08-14tests/kms_flip: Remove $engine-flip-vs-dpms/modesetMaarten Lankhorst
This is already tested in kms_busy, and without cs flips there's no point in doing those tests any more. The removed tests were broken and caused GPU hangs because the spin batch was not unblocked correctly. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-08-14Revert "tests/igt_command_line: Ignore subtest list for kms_ccs"Petri Latvala
The temporary workaround can now be removed with kms_ccs being fixed. This reverts commit 1385b31d9371fae02af2fd8adb0d9ea86a5bb0f2. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2017-08-14tests/kms_ccs: Fix subtest enumeration:Daniel Vetter
- We can't enumerate planes, push that into the subtest. - pipe enumeration needs to use for_each_pipe_static. This fells our CI since the test enumeration/sharding happens on the build server, which has no gfx nor does the job run as root ... Cc: Daniel Stone <daniels@collabora.com> Cc: Jason Ekstrand <jason@jlekstrand.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-08-14lib/kms: Add for_each_pipe_staticDaniel Vetter
for_each_pipe cannot be used for enumerating testcases, so provide something that can. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-08-10tests/igt_command_line: Ignore subtest list for kms_ccsArkadiusz Hiler
Temporary workaround for "make check" to pass despite the issue with kms_ccs which do not list any subtests, even though it should. TO BE REVERTED by Daniel Stone Cc: Daniel Stone <daniels@collabora.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Daniel Vetter <daniel.vetter@intel.com>
2017-08-10tests/kms_ccs: Test CCS on sprite planesDaniel Stone
Also try to test CCS on available non-primary planes. However, as there is not enough bandwidth to scan out both the primary and sprite planes when using CCS (or even Y-tiled), fall back to linear for the primary plane when using CCS for a sprite/cursor plane. Signed-off-by: Daniel Stone <daniels@collabora.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
2017-08-10tests/kms_ccs: Split all tests into subtestsDaniel Stone
Some subtests were magically doing a for-each-pipe loop. Remove that, and have all multi-pipe tests actually work across all pipes. Signed-off-by: Daniel Stone <daniels@collabora.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
2017-08-10tests/kms_ccs: Test for supported modifierDaniel Stone
Make sure the CCS modifier is supported on our plane, before we try to use it on that plane. Signed-off-by: Daniel Stone <daniels@collabora.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
2017-08-10tests/kms_ccs: Reshuffle test name and loopDaniel Stone
In preparation for also testing sprites. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-08-10tests/kms_ccs: Paramaterize color for framebufferDaniel Stone
Will be used in later patches. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-08-10tests/kms_ccs: Remove excessive FB alignmentDaniel Stone
We don't need to align the framebuffer dimensions to the tile size. As long as the pitch is aligned to the tile width, and the BO dimensions can fit full tiles of both aligned pitch and aligned height, we don't need to claim the FB itself is larger. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2017-08-10tests/kms_ccs: Split FB generation into helperDaniel Stone
Create a new helper for generating and rendering the framebuffer, rather than doing it inline with applying the configuration. This will be used later to generate a different plane configuration. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>