summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-05-14tests: sprinkle igt loggingDaniel Vetter63-336/+325
All the cases that simply dump some debug information and couldn't be converted to some of the fancier macros. Some information output removed when it's redundant with the subtest status. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-13pm_pc8: add system-suspend subtestImre Deak1-0/+13
Signed-off-by: Imre Deak <imre.deak@intel.com>
2014-05-13tests/kms_fbc_crc: Use igt_create_color_fb()Ville Syrjälä1-25/+9
No need to hand roll the alloc fb+paint code anymore, just use the common helper. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-05-13tests/kms_fbc_crc: Reset display state between subtestsVille Syrjälä1-0/+15
If a subtest fails it'll leave the display in a state that may prevent the next subtest from working. So reset the display state between subtests. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-05-13tests/kms_fbc_crc: Switch to using the igt_display stuffVille Syrjälä1-97/+85
Let's try to use the common igt_display framework to make the code a bit nicer. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-05-13tests/kms_fbc_crc: Simplify pipe_crc messVille Syrjälä1-10/+7
There's no need to keep an array of pipe_crc objects around. Just keep one for the duration of the specific crtc/connector/test combo. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-05-13lib/igt_core: Fix type on igt_log docDaniel Vetter1-1/+1
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-13lib/igt_core: Document testrunner interface a bitDaniel Vetter2-0/+24
Also fix up one gtkdoc fumble in igt_fb. We should use symbolic defines if possible instead of just listening the magic 0, 77, 78 values for exit codes, but that's a separate patch. Cc: tim.gore@intel.com Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-13intel-gpu-tools: Move igt tests to intel validation areaTim Gore1-2/+8
Currently when IGT is built for Android the resulting test executables go to /system/bin, which is not ideal. After discussion with the core validation team i have moved them to /system/vendor/intel/validation/core/igt by setting LOCAL_MODULE_PATH. I have also added a --defsym linker option to export a symbol that allows a script to easily distinguish between tests that have subtests and those that dont. There are better ways to do this (viz, in the source code) but because the igt tests are not written consistently this would require many more changes. Signed-off-by: Tim Gore <tim.gore@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-13NEWS: Android has libcairo support now!Daniel Vetter1-0/+3
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-12intel-gpu-tools: Build tests needing cairo if ANDROID_HAS_CAIRO=1Tim Gore3-34/+58
Until now the tests that depended on libcairo were simply skipped in the android build. Now that I have a cairo port working, build these cairo dependent tests if ANDROID_HAS_CAIRO is set to 1 in the environment. For information on building cairo for IGT on Android see the wiki at: https://securewiki.ith.intel.com/display/GFXCore/IGT+Test+Suite+on+Android Signed-off-by: Tim Gore <tim.gore@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-12tests/gen7_forcewake_mt: Don't set the GGTT bit in SRM commandBrad Volkin1-26/+29
The command parser in newer kernels will reject it and setting this bit is not required for the actual test case. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76670 Signed-off-by: Brad Volkin <bradley.d.volkin@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-12testdisplay: fix restoring termio at exitImre Deak1-12/+11
At normal exit in test_all_modes we don't restore the original termio, since g_io_channel_shutdown() closes the stdin fd and so the following tcsetattr on stdin will fail. We also don't restore the termio at signal exit. Fix both cases by installing an exit hanlder with a dup'ed stdin fd. Signed-off-by: Imre Deak <imre.deak@intel.com>
2014-05-09tests/kms_fbc_crc: Check context support earlierVille Syrjälä1-2/+8
Check for context support before doing anything else in the subtest. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-05-09tests/kms_fbc_crc: Allow the subtests to pass even if some planes aren't FBC ↵Ville Syrjälä1-38/+56
capable Don't skip the entire subtest if FBC only works on some of the primary planes, as is the case on pre-gen4 and hsw+. Only skip the entire subtest if all crtc/connector combinations skip. Also print some kind of status for all otherwise valid crtc/connector combos if they skip due to FBC being disabled or CRC support not being there. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-05-08igt/gem_render_tiled_blits: Speed up by using the GPU to detileChris Wilson1-10/+40
Avoid accessing via the slow GTT to read back and compare the contents of each bo against expected results. It is much faster, on llc at least, to detile using the GPU and then copy to system memory for the compare. Before: IVB: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-ge46ff3f (x86_64) (Linux: 3.15.0-rc3+ x86_64) Using 3072 1MiB buffers Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 6m26.005s user 6m19.234s sys 0m2.414s PNV: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-g8556f8a (i686) (Linux: 3.15.0-rc2+ i686) Using 768 1MiB buffers Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 1m45.431s user 1m34.960s sys 0m4.624s Using pread: IVB: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-ge46ff3f (x86_64) (Linux: 3.15.0-rc3+ x86_64) Using 3072 1MiB buffers Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 0m14.717s user 0m3.699s sys 0m3.192s Using snoop: IVB: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-ge46ff3f (x86_64) (Linux: 3.15.0-rc3+ x86_64) Using 3072 1MiB buffers Using a snoop linear buffer for comparisons Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 0m13.774s user 0m3.900s sys 0m2.089s PNV: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-g8556f8a (i686) (Linux: 3.15.0-rc2+ i686) Using 768 1MiB buffers Using a snoop linear buffer for comparisons Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 0m20.831s user 0m4.384s sys 0m5.032s So roughly 10-30x faster depending on platform. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78244 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-08igt/gem_lut_handle: Fix errno checkingChris Wilson1-7/+10
Regression from commit c1404e05b7477122b9923ba029593c2cb64671a7 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Apr 29 07:14:33 2014 +0100 errno is reset after each syscall Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-07tests/gem_flink_race,prime_self_import: fix object countsMika Kuoppala2-0/+16
We need to add one drm_open_any() before getting the object counts as first call to drm_open_any() allocates file descriptors for exit handlers and thus is not symmetrical. The regression, assymmetric behaviour, was introduced in: commit 2f2c491cf3167befe7c79e4b17afb4f6284dfc84 Author: Mika Kuoppala <mika.kuoppala@intel.com> Date: Fri Mar 28 10:52:46 2014 +0200 lib/drmtest: don't dup quiescent fd Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77867 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77875 Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-05-06intel_bios_reader: make edp block decode match kernelJani Nikula1-1/+4
All the somewhat recent VBT specs and the kernel have different format for the eDP block than what the tool decodes. What the tool does *may* be correct for really old VBT, but I have no specs or other reference to suppor this. Just do what the kernel does, that's what we're interested in anyway. Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2014-05-05gem_alive: A utility to see if the driver or GPU has hungChris Wilson4-0/+38
2014-04-30overlay: Parse /proc/interrupts in lieu of debugfs/i915_gem_interruptChris Wilson1-28/+73
So the interrupt counter was removed from i915_gem_interrupt, and if we do not have the perf API available, we therefore need to read it from /proc/interrupts instead. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-30overlay: Use new i915_frequency_info in fallback codeChris Wilson1-1/+5
Actually use the new location to get frequency information when perf is not available. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-30tests/pm_pc8: subtests for runtime pm for dpmsDaniel Vetter1-1/+21
Very basic since I lack a bit ideas. After all with the latest patches runtime pm doesn't make much a difference between dpms off and disabling the outputs completely with SetCrtc. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-30lib: extract kmstest_set_connector_dpmsDaniel Vetter4-64/+37
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-30tests: Fix make depencies for test listDaniel Vetter1-2/+2
Oops, pretty bad ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-29Add Cherryview PCI IDsVille Syrjälä1-1/+11
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-29NEWS: UpdatesDaniel Vetter1-0/+11
2014-04-29errno is reset after each syscallChris Wilson2-5/+5
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78055 Bugilla: https://bugs.freedesktop.org/show_bug.cgi?id=78053 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-04-28tests/gem_stress: Fix rendercopy vs. keep_gpu_busy on gen6+Ville Syrjälä1-2/+7
If the hardware has a blt ring blits aren't allowed on the render ring. Trying to execute blits on the render ring results in a GPU hang. Flush outstanding blits from keep_gpu_busy() before calling rendercopy() so that they don't end up on the render ring. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-28tests/gem_exec_params: One more invalid ring testsDaniel Vetter1-0/+5
With the vebox 2 patches the number of internal rings don't match the number of exposed rings. So add another subtest with an invalid ring which should be invalid both internally and externally. The bug this will catch is using the ring structure before validation, which the old "invalide-ring" wont be able to due to the internal vebox2 ring. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-25tests/pm_pc8: skip the test if runtime PM is disabledImre Deak1-1/+1
The PC8 state won't be entered unless runtime PM is enabled, so support for PC8 residency counters alone is not enough to run this test. Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-25test: Fixup for the previous patchDaniel Vetter2-2/+2
Oops, failed to git add. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-25test/gem_userptr_*: Fix compile failDaniel Vetter2-8/+18
Also shut up warnings. Those revealed incorrect usage of local variables in conjunction with igt_fixture/igt_subtest. Since those use longjmps we need to move the out of the stackframe those magic blocks are declared in. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-25tests/gem_userptr_benchmark: Benchmarking userptr surfaces and impactTvrtko Ursulin3-1/+501
This adds a small benchmark for the new userptr functionality. Apart from basic surface creation and destruction, also tested is the impact of having userptr surfaces in the process address space. Reason for that is the impact of MMU notifiers on common address space operations like munmap() which is per process. v2: * Moved to benchmarks. * Added pointer read/write tests. * Changed output to say iterations per second instead of operations per second. * Multiply result by batch size for multi-create* tests for a more comparable number with create-destroy test. v3: * Use ALIGN macro. * Catchup with big lib/ reorganization. * Removed unused code and one global variable. * Fixed up some warnings. v4: * Fixed feature test, does not matter here but makes it consistent with gem_userptr_blits and clearer. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Brad Volkin <bradley.d.volkin@intel.com> Reviewed-by: Brad Volkin <bradley.d.volkin@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-25tests/gem_vmap_blits: Remove obsolete test caseTvrtko Ursulin3-347/+0
No need for the old test case once the new one was added. v2: * Just rebase for lib/ reorganization. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Brad Volkin <bradley.d.volkin@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-25tests/gem_userptr_blits: Expanded userptr test casesTvrtko Ursulin3-0/+1249
A set of userptr test cases to support the new feature. For the eviction and swapping stress testing I have extracted some common behaviour from gem_evict_everything and made both test cases use it to avoid duplicating the code. Both unsynchronized and synchronized userptr objects are tested but the latter set of tests will be skipped if kernel is compiled without MMU_NOTIFIERS. Also, with 32-bit userspace swapping tests are skipped if the system has a lot more RAM than process address space. Forking swapping tests are not skipped since they can still trigger swapping by cumulative effect. v2: * Fixed dmabuf test. * Added test for rejecting read-only. * Fixed ioctl detection for latest kernel patch. v3: * Use ALIGN macro. * Catchup with big lib/ reorganization. * Fixed up some warnings. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Brad Volkin <bradley.d.volkin@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-04-25kms_cursor_crc: Fix the test on platforms where the pipe->port mapping has ↵Ville Syrjälä1-0/+9
restrictions On gen2 for instance the LVDS port can only be fed from pipe B. Check whether the combinations is valid before trying to run the test. Also clean up the state back to PIPE_ANY properly so that following tests can again go through all the combinations. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75131 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-25kms_cursor_crc: Wrap igt_require() in igt_fixtureVille Syrjälä1-1/+2
igt_require() must be within a fixture or subtest. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-25kms_cursor_crc: Replace snprintf()+%s with just %dVille Syrjälä1-6/+4
There's no point in first printing the int to temp string using %d and then printing that out with %s. Just stick the %d into the final string. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-25kms_cursor_crc: Allow the test to run without cursor cap supportVille Syrjälä1-5/+4
Assume that only 64x64 cursor size is supported if the cursor size caps aren't supported by the kernel. This allows the test to run on older kernels. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-25kms_cursor_crc: Wrap cursor fb creating into igt_fixtureVille Syrjälä1-2/+5
We don't want to attempt creating the cursor fb when enumerating subtests. So wrap it into igt_fixture. Also destroy the cursor fb after the tests. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-25kms_cursor_crc: Simplify the pipe_crc messVille Syrjälä1-23/+10
Instead of allocating an array of igt_pipe_ctc_t objects, just allocate one and stick it into test_data. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-25kms_cursor_crc: Add background pictureAntti Koskipaa1-0/+1
This gives the cursor something to be on, instead of just a black background. Slows the test down only one second over six minutes. Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
2014-04-25kms_cursor_crc: Add random cursor placement testAntti Koskipaa1-0/+14
Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
2014-04-25kms_cursor_crc: Add moving cursor testAntti Koskipaa1-0/+16
Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
2014-04-25kms_cursor_crc: Add reference software renderingAntti Koskipaa1-6/+19
This patch first render the cursor with hardware rendering and then with software, acquiring the CRC in both cases so they can be properly compared. Say goodbye to crc_must_match variable. Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
2014-04-25kms_cursor_crc: Separate onscreen and offscreen testsAntti Koskipaa1-49/+50
Also remove onscreen boolean from parameter list. All test-related data should be put into test_data from now. Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
2014-04-25kms_cursor_crc: Use a function pointer to call testAntti Koskipaa1-5/+10
More tests are coming, and this allows us to not repeat the boilerplate code in run_test() for each subtest. Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
2014-04-25kms_cursor_crc: Move cursor enable and disable calls where they belongAntti Koskipaa1-29/+27
We can't have the hw cursor enabled during software render tests. Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com> [vsyrjala: collect the crc before disalbing the cursor] Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-04-25kms_cursor_crc: Remove some test cases and change cursor to colorAntti Koskipaa1-43/+32
Currently this test is quite useless, since it only checks for valid CRCs when the correct output from a test is a completely black screen (invisible or visible but black cursor, or cursor is offscreen) and disables the check when anything visible is onscreen. This patch changes the cursor to a colorful one and removes the test cases that become redundant because of this change. The cursor is designed to be asymmetrical such that future tests involving rotation, mirroring, etc. produce different CRCs and failures can be detected. This (temporarily) disables CRC testing until the next patch which will add software rendering of the cursor and the CRC generation. Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>