summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2016-10-13lib/igt_aux: Add support for various system suspend/resume optionsImre Deak
To have a more accurate idea about any suspend/resume issues we can perform the s/r until various phases in the s/r sequence. This way we can isolate the given problem as being a device driver, kernel core or BIOS related issue. Actual subtests using these new s/r phases will be added as follow-up. While at it also add the freeze suspend target, it's something we also would need to test. Signed-off-by: Imre Deak <imre.deak@intel.com>
2016-10-13igt/gem_exec_big: Secure dispatch is run through the GGTT, limit it suchChris Wilson
An interesting complication arises using machines with different aperture sizes and special execbuf modes like secure dispatch which uses the smaller global aperture. In order to avoid false positives from the test, we need to make sure that the secure dispatch is capable of being run before submitting. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88392 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-13igt/gem_wait: Use explicit timersChris Wilson
Rather than guestimating a workload that should take a certain amount of time, use a sigitimer to terminate a batch (and so complete the wait) after an exact amount of time. And in the process expand testing to cover multiple rings and hangcheck. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-12intel-ci: Remove vgem_reload_basicPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
2016-10-12intel-ci: Remove kms_psr_sink_crc@psr_basic from BATPetri Latvala
The test is producing a lot of CI noise. Signed-off-by: Petri Latvala <petri.latvala@intel.com>
2016-10-12And remove vgem_reload_basic form Makefile.sourcesChris Wilson
Reported-by: https://jenkins.freedesktop.org/job/IGT-ARM/210/ Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-12Remove igt/vgem_reload_basicChris Wilson
This is superseded by vgem_basic/unload Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-10igt/gem_ctx_thrash: Include with-execlists indicatorChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-10igt/gem_ctx_thrash: Update context size estimatesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-10igt/gem_ctx_threads: Repeat threads until timeoutChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-07tests/tools_test: Fix it up for intel_regVille Syrjälä
intel_reg_read and intel_reg_dumper are no more. Switch over to intel_reg. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-10-07tests/vgem_reload_basic: Leave breadcrumbs in dmesgVille Syrjälä
Source drm_lib.sh instead of drm_getopt.sh so that we get the "executing", and "exiting" breadcrumbs in dmesg. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-10-07tests: Leave basic breadcrumbs in dmesg for shell script based testsVille Syrjälä
Leave the normal "executing" and "exiting" breadcrumbs into dmesg when running the test. v2: s/$1/$@/ (Jani) Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-10-07tests: Use bash for debugfs_wedged and drm_lib.shVille Syrjälä
debugfs_wedged and drm_lib.sh are already using bashism so switch over to using #!/bin/bash instead of #!/bin/sh. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2016-10-07tests: Add explicit test lists for CI use.Petri Latvala
See tests/intel-ci/README for rationale and explanation. v2: Use the current BAT set for fast-feedback.testlist first Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2016-10-06kms_cursor_legacy: Split out the busy crc test.Maarten Lankhorst
It's more readable like this, and with the ifs it was a completely separate test anyway. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-10-05igt/gem_exec_whisper: Tweaking the global seqno is not multiuser safeChris Wilson
If we want to advance the seqno, we need to coordinate with all possible users. The kernel doesn't want to do that for a lowlevel debug feature, so it's up to userspace not to shoot itself in the foot. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-05igt/kms_cursor_legacy: Deduplicate make_busy()Chris Wilson
make_busy() already existed! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-05kms_cursor_legacy: Add cursor update vs busy page flip test.Maarten Lankhorst
This is a test for the issue exposed by 97888, we perform a busy bo update followed by a cursor update. The page flip and cursor update should complete without hanging, and the new fb should not be flipped yet as a result of the cursor update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-10-05Revert "tests/kms_psr_sink_crc: commit before querying mode"Maarten Lankhorst
This reverts commit e4a1727efa617e32428c7e7c59abbb08cc97e16f. This hack should no longer be needed with the previous commit applied. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-10-05igt/vgem_basic: Allow mmap() to persist without the vgem module loadedChris Wilson
Since vgem doesn't have any callbacks from shmemfs to its, we don't need to keep the module around to service a pagefault when only using the shmemfs facilities. Adjust the test to try to unload and check the mmap for access. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-04igt/kms_cursor_legacy: Check that a busy flip doesn't block the cursorChris Wilson
Suggested-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-10-04igt/drv_module_reload_basic: let intel_ips removal errors throughJani Nikula
Only try removing intel_ips if it's actually loaded, and let the errors through to the logs if removal fails. Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2016-10-04igt/drv_module_reload_basic: let snd_hda_intel removal errors throughJani Nikula
Only try removing snd_hda_intel if it's actually loaded, and let the errors through to the logs if removal fails. This is a clue if i915 removal fails later. Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2016-10-04igt/drv_module_reload_basic: add helper for checking module reloadedJani Nikula
Add a helper for checking whether a module is reloaded, using lsmod. Also make the grep stricter than before. Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2016-10-01igt/gem_exec_whisper: Hang injectionChris Wilson
Now will even more evilness. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-30igt/gem_userptr_blits: Tidy up the debug spamChris Wilson
igt_subtest_group { /* to the request */ } Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97934
2016-09-30igt/vgem: Add a basic test for handling of module unloadChris Wilson
We found a bug where a dmabuf did not keep the module alive (and so when i915 tried to use it later, it exploded). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-26kms_atomic: plane_primary: Allow modeset if atomic check returns -EINVALLiu Ying
Allowing modeset may prevent the test case from failing in case the atomic check phase finds the userspace doesn't allow modeset for the commit and returns -EINVAL. A real case is to run the test case on imx-drm which requires a full modeset when we change an active plane's configuration, e.g., pixel format and stride. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Marius Vlad <marius.c.vlad@intel.com> Cc: Micah Fedke <micah.fedke@collabora.com> Cc: Daniel Stone <daniels@collabora.com> Signed-off-by: Liu Ying <gnuiyl@gmail.com>
2016-09-26kms_atomic: Expose atomic commit flags to crtc_commit_atomic()Liu Ying
This patch exposes atomic commit flags to crtc_commit_atomic() so that users of the macro may control the flags. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Marius Vlad <marius.c.vlad@intel.com> Cc: Micah Fedke <micah.fedke@collabora.com> Cc: Daniel Stone <daniels@collabora.com> Signed-off-by: Liu Ying <gnuiyl@gmail.com>
2016-09-26igt/gem_concurrent_blit: Only set the pixels to be compared (GTT paths)Chris Wilson
Just to tidy a discrepancy where doing the compare using the GTT (i.e. a readback) is now faster than setting the contents initially (as the readback only checks one pixel per page, do the same for setting the object). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-25igt/gem_concurrent_blit: Limit number of reads for dmabufsChris Wilson
vgem provides WC mmap on its dmabufs, so reading and comparing these is slow. We can employ a similar w/a to the other WC mmaps (i.e. mmap__gtt or mmap__wc) and only check one pixel per page. This will speed up those tests, but I don't know if it makes detecting coherency issues more or less likely. :| Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-23igt/gem_concurrent_all: Leave bufmgr destroyed before forkingChris Wilson
Otherwise we inherit the bufmgr and fd across the fork, try to clean it up in the child (affecting the parent's device), then try to clean it up in the parent (triggering warns). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-21igt/prime_vgem: Initialise pfd for both parent/childChris Wilson
commit 4337091f6af6 moved the initialisation of the pollfd into the child, forgetting that it was also used in the parent as a sanity check. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97885 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-19tests/kms_psr_sink_crc: commit before querying modeMika Kuoppala
Commit to a mode before querying it. Tested-by: Rodrigo Vivi <rodrigo.vivi@intel.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=97172 Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2016-09-13igt/kms_cursor_legacy: Reduce flip/cursor ordering to basicsChris Wilson
The essence of the basic test is that neither the cursor nor the nonblocking flip stall the application of the next. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-13igt/gem_busy: Prevent banning when running multiple hang testsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-13igt/gem_busy: Actually flag the hang tests to cause a GPU hangChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-13igt/gem_busy: Replace extended busy-ioctl testing in bat with simpler testsChris Wilson
And replace with basic testing that rendering first is detected as being busy, and then will automatically retire. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-12igt/gem_exec_whisper: Add competing child processesChris Wilson
Execute the test in parallel in order to exercise a failure condition in reordering requests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-08igt/gem_exec_nop: Show more timing detailsChris Wilson
Min, average, exclude the post-exec sync time. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-08igt/gem_exec_latency: Initial sketch for measuring execbuf cost in GPU cyclesChris Wilson
Similar to benchmarks/gem_latency, but looking more at the dispatch cost rather than wakeup cost, and looking for inter-engine costs. Still probably better as a perf test. ivb over the years: IGT-Version: 1.16-gebee919 (x86_64) (Linux: 3.10-3-amd64 x86_64) render: dispatch latency: 50.90, execution latency: 57.29 (target 4.64) bsd: dispatch latency: 41.45, execution latency: 41.43 (target 4.75) blt: dispatch latency: 41.02, execution latency: 41.00 (target 4.99) IGT-Version: 1.16-gebee919 (x86_64) (Linux: 4.8.0-rc5+ x86_64) render: dispatch latency: 12.61, execution latency: 15.44 (target 1.71) bsd: dispatch latency: 12.08, execution latency: 12.07 (target 1.80) blt: dispatch latency: 12.59, execution latency: 12.58 (target 1.85) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-08igt/gem_ctx_switch: Increase execution weightChris Wilson
Add a heavier batch of (1M nops) in order to stress a context switch onto a busy engine. (The immediate goal is try and fill the GuC workqueue, but it seems like the lightweight test was enough anyway, as well as gem_exec_nop.) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-08igt/gem_exec_nop: Refine the target calculationChris Wilson
The ideal execution time cannot be faster than the fastest ring! If all other rings were infinitely fast, the seed would be max/nengine. Given each is finite, this puts a floor on the ideal execution time. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-08igt/gem_exec_nop: Check submitting nops to each engine in parallelChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-08igt/gem_exec_nop: Relax assertion for parallel executionChris Wilson
In an ideal world, we should be able to execute on every engine in parallel and the single limiting factor would be how fast the GPU can execute. Due to the serialisation in execbuf, we would lockstep with execution to the slowest engine and so would execute the same number of cycles on each. However in CI, we are limited by how fast the driver is, particularly under invasive debugging. This makes asserting that the average time == max/nengine impossible, and reveals that the assertion is impossible to meet under general condition. It's an impractical regression test. Therefore we relax the assertion to only detect should something critically fail. Worst case behaviour is presumed that each ring runs sequentially, and so running N rings in parallel should take no longer than running N rings serially. (Pathologically it can be even slower if no batching on the rings occur). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-09-08kms_properties: Invalid atomic properties should return -ENOENTMaarten Lankhorst
This was already tested by kms_atomic when passing object id's as properties to set. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-09-08kms_cursor_legacy: Add cursor crc tests.Maarten Lankhorst
On skylake there's a add_all_affected_planes call that will make atomic commit use the old cursor state. Add a test that first does a page flip then cursor update to expose the issue. The test currently fails on the vblank wait, but that's a common issue affecting all the tests. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-09-07kms_properties: Add invalid property test.Maarten Lankhorst
This will attempt to set any property from any type to each mode object, to ensure that only enumerated properties can ever set to a mode object. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-09-01igt/pm_rps: Remove reliance on guessing the busy workloadChris Wilson
Create an unbounded batch in order to ensure that the workload doesn't disappear before the wait and so we should be given the RPS waitboost. References: https://bugs.freedesktop.org/show_bug.cgi?id=97564 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>