summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2016-07-19tests/gem_workarounds: Fix assertion of num of regsMika Kuoppala
As we now allow zero as number of workarounds for older gens, without lri workarounds, change the assert to allow equality. Also move it out from loop. Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2016-07-19igt/prime_vgem: Test set-domain on foriegn dma-bufsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-19igt/prime_vgem: Replace arbitray delay with backchat from childChris Wilson
Wait until the child tells us they are running (and have verified the initial buffer state) before modifing the vgem buffer and then signaling the child. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-19igt/prime_vgem/fence-read: Insert a delayChris Wilson
Ensure that the child does need to sleep before the vgem is written. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-18igt/gem_concurrent_blit: Hook up vgem dmabufChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-18igt/prime_vgem: Check for fence wait before gem_read()Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-18igt/vgem_slow: Test for the expected -ETIMEDOUT upon fence timeoutChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-15tests/gem_workarounds: rename read to basic-read for CIMika Kuoppala
This is very quick test (<0.01s) and ensures that the basic support is in place. And also reminds to tackle the workarounds in early phases for platform enabling. Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2016-07-15Convert function target attributes to pragmaChris Wilson
We need to not only cover the function in the target=sse4.1 but the include as well. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Damien Lespiau <damien.lespiau@intel.com>
2016-07-15igt/vgem_slow/nohang: Test fence autotimeoutChris Wilson
To protect the kernel against unscrupulous fence users, fences should automatically signal after a timeout. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-12vgem: Add basic dma-buf fence interopChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-12igt/pm_rps: Avoid inadvertent waitboostingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-11igt/gem_exec_flush: Test movntqda reads from WCChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-11igt/gem_gtt_speed: Measure the benefit of movntqdaChris Wilson
Suggested-by: Akash Goel <akash.goel@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-09igt/pm_rpm: Fix requirement for external modulesChris Wilson
Don't just fail, skip gracefully if an external module is unavailable. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-09igt/gem_busy: Include a hangcheckChris Wilson
Ensure that we eventually report idle if we call gem_busy() in a tight loop on a hanging batch. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-09lib/debugfs: Adjust path creation for opening /debugfs/.../dir/%dChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-07igt/prime_busy: Check the busy status is cleared upon a hangChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-06igt/gem_sync: Fix uninitialised variable 'n'Chris Wilson
Not a good day. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-05igt/gem_sync: Fix many_store() for printing out a single engineChris Wilson
The name for a single engine was unset, oops. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-05igt/gem_sync: Try and race the bottom-halfChris Wilson
In light of a bug in intel_breadcrumbs where we missed the interrupt when a new bottom half was installed and raced with the old bottom half being signaled, try and recreate that race. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-04kms_flip: Change __wait_for_vblank to use helper function.Robert Foss
Change __wait_for_vblank() to use kmstest_get_vbl_flag() helper function. Signed-off-by: Robert Foss <robert.foss@collabora.com> Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-07-04kms_vblank: Switch from using crtc0 statically to explicitly setting mode.Robert Foss
Previously crtc0 was statically used for VBLANK tests, but that assumption is not valid for the VC4 platform. Instead we're now explicitly setting the mode. Also add support for testing all connected connectors during the same test. Signed-off-by: Robert Foss <robert.foss@collabora.com> Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-07-04tests/gvt_basic: Add a placeholder test to please check/distcheck.Marius Vlad
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-04igt/gem_sync: Extend with store synchronisationChris Wilson
Currently gem_sync exploits read-read optimisation to wait upon multiple rings simultaneously. But at the moment, gem_exec_flush is showing sporadic missed interrupts on bdw/skl and yet gem_sync is not. This is some subtlety in the timing, perhaps caused by the extra write. This set of tests tries to exercise that by using a write batch - which also means we exercise inter-ring synchronisation (like gem_storedw_loop). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-03igt/gem_exec_gttfill: Reduce overhead in setting up filler batchesChris Wilson
Since all the batches start with the same content, we can reuse the same buf to fill them. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-03igt/gem_exec_whisper: Preallocate locations in GTT for whisperChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-01igt/prime_busy: Promote the test for dma-buf implicit fences as basicChris Wilson
This is a requirement for interoperability that we fail. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-29tests: Remove kms_rmfb.cMaarten Lankhorst
Accidentally added as part of another patch. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-06-29igt_kms: Add modeset support for atomic style commits.Maarten Lankhorst
All pipes are now updated in the loop first, before connectors are read out. The mode_id and active crtc properties are added, and crtc_id for connectors. These are required to do a modeset, and the behavior during atomic commits is changed slightly too. A lot of code will do the following: - Init. - igt_output_set_pipe(output, pipe); - commit. Since legacy setcrtc and atomic commit differ, there are some differences in how we commit pipes and connectors too. For atomic we set output->crtc during igt_output_set_pipe, and use it in atomic commit. This may be set to NULL, in which case the output is disconnected from the crtc. Unlike legacy we won't attempt to bind all connectors to all pipes, only the ones that were explicitly set. As a test, convert kms_rmfb.c Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-06-29tests/kms_rmfb: Use for_each_pipe_with_valid_output.Maarten Lankhorst
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-06-29tests/kms_chv_cursor_fail: Run the tests with fewer steps.Maarten Lankhorst
This reduces the runtime of the tests from ~200s on my 30 fps 4k panel to 10s. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-06-24igt/kms_cursor_legacy: Check that cursor updates do not stall flipsChris Wilson
A similar expectation as to the current test that flips do not stall cursor updates. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-23igt: Add basic framework for GVT-g testingChris Wilson
We don't do anything yet other than try to load the module. Initial sanity checks to come. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Zhi Wang <zhi.a.wang@intel.com>
2016-06-23Silence compiler warnings for expected and handled error conditionsChris Wilson
Silly compiler emitting warnings that just cause people to break code attempting to silence the compiler. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-23igt/vgem_basic: Check multiple clients can open /dev/dri/<vgem>Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-22igt/kms_cursor_legacy: Replace synchronous pageflipChris Wilson
Aparently we never supported that mode of operation. Maybe in the future we will, but for now just use the vblank wait to align ourselves with the vblank. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-22igt/kms_cursor_legacy: Detect pageflip errorsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-22tests/kms_flip: Check that the last vs. current seq/ts are consistentVille Syrjälä
Let's make sure the ts vs. seq difference between the current and last events match. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-06-22tests/kms_flip: Print the expected diff between two eventsVille Syrjälä
To aid in diagnosing failures, print out the expected time difference between the two events. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-06-22tests/kms_flip: Account for diff.tv_secs in jitter checkVille Syrjälä
Include diff.tv_secs in the jitter comparison. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-06-22tests/kms_flip: Use USEC_PER_SECVille Syrjälä
Replace some opencoded numbers with USEC_PER_SEC, and print the usec_diff with 6 decimal digits to make things more consistent. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-06-22tests/kms_flip: Constify some function argumentsVille Syrjälä
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-06-22tests/kms_flip: Print timestamps in a consistent formVille Syrjälä
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-06-22igt/kms_cursor_legacy: Add a rudimentary test to detect stalled cursorsChris Wilson
A common problem when trying to unify legacy and atomic is the breaking of existing non-blocking, asynchronous userspace. The most trivial example is a cursor that stalls for a pageflip. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-22igt/vgem_reload_basic: Do a modprobe dry-run firstChris Wilson
Skip if the vgem module is not present, but still fail if we fail to load it. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-22tests/drm_getopt.sh: Make it executable as CI does a copy ofMarius Vlad
tests using executable permission. Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-06-21tests/drm_lib.sh: Extract fake getopt options so it can sourced into tests ↵marius vlad
that require it. This should allow tests/vgem_reload_basic to pass check target and it doesn't depend of i915 being present. v2: Do not source drm_lib.sh, only fake getopt parsing option to again access to --list-subtests option (Chris) v3: Forget to place the script in Makefile.sources, otherwise distcheck will not copy it. Signed-off-by: Marius Vlad <marius.c.vlad@intel.com> [Chris: Replace exit 1 with exit $IGT_EXIT_FAILURE] CC: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-21igt/gem_close_race: Complete conversion to drm_open_driver()Chris Wilson
commit e63a0681d95a ("tests/gem_close_race: Use drm_open_driver helper") left a few raw open() behind. Eliminate them as well! References: https://bugs.freedesktop.org/show_bug.cgi?id=96605 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-21igt/prime_vgem: Speed up implicit fence failureChris Wilson
Close the batch before asserting so that we don't have to wait for a hang after a failure. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>