summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2015-03-26Add default debug flags for testsThomas Wood
Include debugging symbols in tests by default to improve stack traces and also set the compiler optimisation level to improve the debugging experience. Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-26lib: print a stack trace when a test assertion failsThomas Wood
Add an optional dependency on libunwind to print stack traces when a test assertion fails. Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-26igt/gem_exec_(nop|blt): Repeat measurements at min/max GPU frequenciesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26igt/gem_concurrent_blit: Separate out the combinatorial explosionChris Wilson
Apparently nobody else likes testing and debugging GEM coherency issues. However, this also means that QA is skipping these vital tests. Split out a set of canaries into igt/gem_concurrent_blit and keep the rest in igt/gem_concurrent_all. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89497 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26igt/gem_exec_blt: Repeat measurement and averageChris Wilson
Through away the unstable outliers for a more consistent measurement. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26igt/gem_exec_nop: Repeat and average to stabilize measurementsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26igt/gem_exec_blt: Do a warmup run firstChris Wilson
Sometimes it takes a pass for the GPU to come up to full speed, so do a "cold" pass first. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26igt/gem_exec_blt: Repeat measurements for stablityChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-25tests/pm_sseu: Create new test pm_sseuJeff McGee
New test pm_sseu is intended for any subtest related to the slice/subslice/EU power gating feature. The sole initial subtest, 'full-enable', confirms that the slice/subslice/EU state is at full enablement when the render engine is active. Starting with Gen9 SKL, the render power gating feature can leave SSEU in a partially enabled state upon resumption of render work unless explicit action is taken. v2: Add test description and apply recommendations of igt.cocci (Thomas Wood). v3: Skip instead of fail if debugfs entry i915_sseu_status is not available. Signed-off-by: Jeff McGee <jeff.mcgee@intel.com> Tested-by: Lei Liu <lei.a.liu@intel.com> Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-25tests/drv_getparams: Skip instead of fail on EINVALJeff McGee
Avoid failing on older kernels where the GETPARAM interfaces don't exist. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89669 Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
2015-03-25tests/gem_tiled_fence_blits: split into subtestsTim Gore
The gem_tiled_fence_blits test tends to get oom killed on low memory (< 4GB) Android systems. This is because the test tries to allocate (sysinfo.totalram * 9 / 10) in buffer objects and the remaining 10% of memory is not always enough for the Android system. As with a similar issue with gem_render_linear_blits, this problem is resolved by splitting into subtests. A "basic" subtest uses minimal memory buffers to test the basic operation, and a "normal" subtest which is skipped if there is insufficient memory. I also took the opportunity to cull some numeric literals. Signed-off-by: Tim Gore <tim.gore@intel.com>
2015-03-23tests/pm_rps: add test descriptionsJesse Barnes
Document a copule of the subtests with their purpose, methods, and expected results. Reviewed-by: Ben Widawsky <benjamin.widawsky@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-03-23tests/gem_tiled_swapping: Fix up L-shaped testingDaniel Vetter
I've fumbled this, resulting in this this skipping everywhere. Unfortunately no QA test report for this regression ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-03-23tests/gem_exec_lut_handleDaniel Vetter
Reduce default number of repeats a lot. High repeat count is only useful for microbenchmarking, not that much for regression testing. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87131 Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-03-23tests/kms_cursor_crc: Add dpms and suspend testsDaniel Vetter
There was some confusion about whether we restore cursors correctly after dpms and suspend/resume. Apparently we still do! Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-03-23tests: Remove usage of igt_crc_equal and _non_nullDaniel Vetter
Tests should positively check for crc matches, not for mismatches. Enforce this by only exposing and igt_assert function for comparing crcs. For the few tests which didn't just do this as consistency checks but to do functional tests add FIXME comments that some reference crc values are missing. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-03-23lib/debugfs: Add igt_assert_crc_equalDaniel Vetter
Because of hash collisions tests should only ever compare crc checksums for equality. Checking for inequality can result in random failures. To ensure this only expose and igt_assert function and use that. Follow-up patches will rework the code for tests which don't follow this requirement and try to compare for CRC inequality. v2: Rebase on top of Matt's kms_plane changes. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-03-23lib/core: add interactive debug point to igt_failDaniel Vetter
Useful for inspecting the screen state in kms tests when they fail. Also move the screen clearing in kms_cursor_crc to the bottom. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-03-19igt/kms_vblank: Simple harness for measuring speed of drmWaitVBlankChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-19igt/gem_concurrent_blit: Test copying over itselfChris Wilson
Suggested by Lionel Landwerlin as a means to emulate video decode workloads. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-19igt/gem_wait: When waiting for infinity, an infinity remainsChris Wilson
Incorrect testing of out parameters leads to bug noise... Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89494#c4 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-18igt/gem_exec_nop: Enlighten the failure error messageChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=89633 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-18igt/gem_read_read_speed: Speed up batch submissionChris Wilson
Create the RCS and BCS batches once and reuse them to avoid the rewriting and relocation overhead on every submission - the goal is to focus on the interring synchronisation overhead. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-17igt/gem_concurrent_blt: Test overwrite source used for read-read optimisationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-17igt/gem_concurrent_blit: Exercise concurrent readsChris Wilson
Since we are considering implementing read-read optimisations for mixed engine workloads, make sure that we at least have a few tests that check for coherency when doing so. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-17igt/gem_concurrent_blit: Move buffer allocation after requiresChris Wilson
The choice is to either move the igt_require from the buffer allocation (and allow the allocation to fail) inside the igt_fixture, or move the buffer allocation to the subtest. Moving it to the subtest has the advantage of ensuring that every test has the same initial state (no chance of leaking state across tests) and speeding up running a single subtest. Note this is necessary in order to run igt/gem_concurrent_blit on older kernels, otherwise the requirement for mmap(wc) causes us to skip the majority of tests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-17igt: Add benchmark for read-read optimisationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-13tests: Rename core_getparams to drv_getparamsDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-03-13tests/core_getparams: Create new test core_getparamsJeff McGee
New test core_getparams consists of 2 subtests, each one testing the ability of userspace to query the correct value of a GT config attribute: subslice total or EU total. drm/i915 implementation of these queries is required for Cherryview and Gen9+ devices (non- simulated). v2: Duplicate small amount of new libdrm functionality to avoid bumping libdrm version requirement (Daniel). Convert some igt_asserts to the appropriate comparison variants. Add a test description. v3: Actually use the LOCAL GETPARAM defines. Otherwise can't build against older libdrm as intended by v2. For: VIZ-4636 Signed-off-by: Jeff McGee <jeff.mcgee@intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-03-12Remove old entries from .gitignore filesThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-12tests/kms_flip_tiling: Exercise Y tiling modes on Gen9+Tvrtko Ursulin
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2015-03-12testdisplay/skl: Add command line options for Yb/Yf tiled fbsDamien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2015-03-12tiling: Convert framebuffer helpers to use fb modifiersTvrtko Ursulin
This converts the IGT API only, underneath legacy set_tiling is still used. v2: One got away in kms_flip. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2015-03-12tests/kms_addfb: Y tiled testcasesTvrtko Ursulin
v2: Moved all init into fixtures. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2015-03-12tests/kms_addfb: Add support for fb modifiersTvrtko Ursulin
Just a few basic tests to make sure fb modifiers can be used and behave sanely when mixed with the old set_tiling API. v2: * Review feedback from Daniel Vetter: 1. Move cap detection into the subtest so skipping works. 2. Added some gtkdoc comments. 3. Two more test cases. 4. Removed unused parts for now. v3: * Removed two tests which do not make sense any more after the fb modifier rewrite. v4: * Moved gtkdoc comments into .c file. * Moved all initialization into fixtures. * Rebased for fb modifier changes. v5: * Added bad modifier subtest. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2015-03-11igt/kms_psr_sink_crc: Prettify i915_edp_psr_status failuresChris Wilson
Change the formatting asserts into requires and add the contents into the debug log. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89525
2015-03-06igt.cocci: Replace igt_assert() with igt_assert_CMP() where possibleMatt Roper
The integer comparison macros give us better error output by including the actual values that failed the comparison. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-03-06tests/kms_plane: Ensure planes recover from DPMSMatt Roper
i915 was using the main atomic 'disable plane' to turn off sprite planes during a CRTC disable. This was problematic because it modified the plane state, preventing us from recovering the original state later. One such case was that during a DPMS OFF followed by a DPMS ON, any sprite planes would not be restored properly. Let's add a test that toggles DPMS off and on and ensures that the CRC remains the same (i.e., planes are successfully restored unchanged). Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-03-06igt/gem_wait: Test negative timeoutsChris Wilson
The user should be able to specify a negative timeout to indefinitely wait upon a bo becoming idle. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-06igt/gem_wait: Timeout parameter to the WAIT ioctl is signedChris Wilson
So convert from uint64_t to int64_t. The distinction becomes important when you realise what test we were missing... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-04tests/gem_render_tiled_blits: split into subtestsTim Gore
The gem_render_tiled_blits test tends to get oom killed on low memory (< 4GB) Android systems. This is because the test tries to allocate (sysinfo.totalram * 9 / 10) in buffer objects and the remaining 10% of memory is not always enough for the Android system. A similar issue with gem_render_linear_blits was resolved by creating several subtests. A "basic" subtest that uses minimal memory buffers to test the basic operation, and two stress tests which are skipped if there is insufficient memory. The first stress test uses more memory than the graphics apperture and the second uses enough to ensure that swap space is used (if present). This patch makes the same changes to gem_render_tiled_blits. v2: Following comments from Daniel Vetter: a) Use igt_main macro instead of "open coding", and b) cull some leading spaces Signed-off-by: Tim Gore <tim.gore@intel.com>
2015-03-04tests/gem_render_linear_blits: split into two subtestsTim Gore
The gem_render_linear_blits test tends to get oom killed on low memory (< 4GB) Android systems. This is because the test tries to allocate (sysinfo.totalram * 9 / 10) in buffer objects and the remaining 10% of memory is not always enough for the Android system. After a discussion with Chris Wilson I have split this test into a "basic" and an "apperture-thrash" subtest, in the same way as gem_linear_blits. The basic test uses just two buffer objects and the apperture-thrash test is skipped if there is insuffiecient memory. v2: Following comment from Chris Wilson: a) Remove the command line option for count. b) Add a third subtest to ensure swap is tested v3: Replace some leading spaces with tabs v4: Follwing comment from Daniel Vetter: a) Use igt_main macro instead of "open coding", and b) cull some more leading spaces Signed-off-by: Tim Gore <tim.gore@intel.com>
2015-03-02tests/gem_tiled_swapping: Skip on L-shaped memoryDaniel Vetter
The only thing the kernel can do is pin the buffers, which essentially means no swapped tiled objects. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-02-27tests/pm_rpm: I2C VGA detection is unreliablePaulo Zanoni
We fail to detect some VGA monitors using our I2C method, leading to bug reports from QA. If you look at the dmesg of these cases, you'll see the Kernel complaining about EDID reading mostly FFs and then disabling bit-mangling. Since we don't want to reimplement everything the Kernel does, let's just accept the fact that some VGA outputs won't be properly detected. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84273 Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-02-27lib: add igt_assert_ltDaniel Vetter
Found one user in gem_wait.c Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-02-27tests/kms_universal_planes: Inline igt_assert(ret == 0) checksDaniel Vetter
This way the debug output in case of failures is nicer since we dump the entire test condition. Also replace one open-coded igt_assert_eq. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-02-27kms_universal_plane: Check for cursor fb leaksMatt Roper
We've been leaking the framebuffers that get created inside the legacy -> universal cursor compatibility layer and nobody noticed. Add an i-g-t test to check debugfs and ensure we end up the same number of framebuffers we started with after performing cursor operations. Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-02-27lib/igt_kms.c: igt_require -> igt_require_f("two displays required\n")Marc Herbert
The bare "Test requirement: modes" message is too cryptic, I had to go and read the source code to understand the missing requirement. Signed-off-by: Marc Herbert <marc.herbert@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-02-26tests/pm_rc6_residency: Add media_rc6_residency_counter subtestDeepak S
Added new media_rc6_residency_subtest for chv & vlv. Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-02-26tests/pm_rc6_residency: Fix proper residency calculationDeepak S
With current code we are not considering the RC6 residency during sysfs read. This is causing test to fail due to incorrect residency_accuracy check This patch consider code time spent for accuracy check Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>