summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2016-08-11kms_cursor_legacy: Try vrefresh amount of flips in cursor-vs-flipMaarten Lankhorst
When vrefresh is 30 the tests run for twice as long, set it to vrefresh to make the tests just as long anywhere Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-08-11kms_cursor_legacy: Add tests for nonblocking modesets vs legacy cursorMaarten Lankhorst
This probably won't pass by design on platforms that need to reallocate global resources like watermarks on gen9+, but it's a good test anyway. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-08-10gem_largeobject: Fix for clang compilerDerek Morton
The clang compiler generates a build error for binaries with >128MB data segments because "The gap between stack and binary is only guarenteed to be 128MB on x86_64" Simple solution is to allocate the required memory from the heap. [v2: moved malloc to after skip_on_simulation] Signed-off-by: Derek Morton <derek.j.morton@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2016-08-09igt/gem_busy: Stress test gem_busy() vs gem_close()Chris Wilson
When doing lockless lookups using gem_busy(), one of the largest complications is ensuring that the bo doesn't disappear as we read it. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-05igt/drv_missed_irq: Clear pending IRQs before testingChris Wilson
Upon starting, the IIR may contain stale user interrupts which then trigger a wakeup when another interrupt occurs (e.g. execlists context switch). This spurious wakeup causes the waiter to unstick and proceed - preventing the missed interupt test from suceeeding. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-05igt/drv_missed_irq: Coordinate child/parentChris Wilson
In the child, make sure the parent is about to sleep before allowing the GPU to complete. In theory, we are created as an inferior process on the same CPU and the scheduler shouldn't be executing the child before the parent, but seems to anyway. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-05igt/gem_madvise: Quick fixup of expectation around mmap()Chris Wilson
We don't do any santiy checking at the point of crating the mmap(), that is deferred until the pointer is actually dereferenced (as the state of the object may well change between mmap and pagefault). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-04Revert "tests/prime_busy: Remove unstable sub-test from BAT/add flag to ↵Chris Wilson
bring them back when they're stable to be run in CI." This reverts commit 860b3c14f9e98face626e6ca025daf22844dd156.
2016-08-04igt/gem_mocs_settings: adding RC6 testsPeter Antoine
This change adds a RC6 test for the MOCS. The MOCS registers are loaded and saved as part of the RC6 cycle but not all the registers are saved/restored. This tests that those registers are correctly restored. Signed-off-by: Peter Antoine <peter.antoine@intel.com>
2016-08-04igt/gem_mocs_settings: Remove direct register testsPeter Antoine
On some platforms the MOCS values are not always saved and restored on RC6 enter/exit. The rational is that the context with restore these values. On these platforms the test will fail as it tests the values by directly reading the MOCS registers. So this change removes the direct testing of the values. Signed-off-by: Peter Antoine <peter.antoine@intel.com>
2016-08-04configure.ac: Harmonize HAVE_XXX flag for all drm platforms to HAVE_LIBDRM_XXXRobert Foss
Replace the automake flag HAVE_XXX for VC4/NOUVEAU with HAVE_LIBDRM_XXX in order for the flags to be more descriptive and also follow the same convention as HAVE_LIBDRM_INTEL. Signed-off-by: Robert Foss <robert.foss@collabora.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2016-08-01igt/gem_mmap_gtt/wc: Reduce test runtimeChris Wilson
Add a new iterator macro to run for a specified number of milliseconds. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-01igt/gem_mmap_gtt: Ignore effects of CPU caches for comparing WBChris Wilson
When measuring WB performance we have the issue that it allows CPU caching which is many times faster than main memory! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-01igt/gem_mmap_gtt: Add a test to detect non-WC accessChris Wilson
WC access through the GTT should be much faster for writes than reads. Indeed, we expect writes to be close to WB performance (for large sequential transfers) and reads to be only equivalent to UC. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-01igt/gem_ctx_create: Watch context creation versus memory hogsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-29tests: Skip if we cannot reserve infinite fd for ourselvesChris Wilson
A few tests rely on being able to allocate an "infinite" number of fd, but current assert instead of skip on more restrictive kernels. References: https://bugs.freedesktop.org/show_bug.cgi?id=97125 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-28igt/gem_busy: Don't run hang tests under the hangcheckerChris Wilson
When deliberately hanging the GPU, don't report FAIL if we detect a GPU hang! Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97106 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-27igt/gem_concurrent_blit: More subtest groupingChris Wilson
To stop igt from tripping over itself with the combinatorial explosion and skips. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-27igt/gem_concurrent_all: Fix up copy sizesChris Wilson
The copy size passed to the CPU copy routines were only for a single row not the full bo. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-27lib/debugs: nuke igt_crc_equal againDaniel Vetter
This was intentionally left out of the abi since CRC have fairly low entropy and can't be reliably compared for inequality in testcases. Spotted while fixing up warnigns in docs, but given that igt_assert_crc_equal has a big comment explaining why only the positive assert exists I'm not sure all those docs are all that useful :( Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2016-07-27tests/gen3_mixed_blits: Fix misleading indentation.Maarten Lankhorst
Caught by a gcc warning. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Add test for unrelated cursor updates.Maarten Lankhorst
Add a test that first shows the cursor on the first display, then shows it on the second display. This exposes the watermark issues on SKL. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Add a wider variety of tests.Maarten Lankhorst
Add -varying-size, where we change the size of the cursor between 64x64 to maxw x maxh, atomic-transitions, which alternates between a full-screen sprite plane and a full-screen primary plane, toggle, which toggles cursor visibility and make sure cursor moves between updates. This is a visual indicator of the tests working as intended. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Make sure BAT runs when pipe A cannot be used.Maarten Lankhorst
This can happen on CHV, where you only have a output on pipe C. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Use igt_display for modesets.Maarten Lankhorst
This lets us pick a nice testing pattern while the test runs and makes sure that the cursor updates don't get nooped. It also tests the atomic modeset path, if available. Also make sure cursorX-vs-flipX has 2 separate connected outputs, else the test is worthless. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Use igt_display_t instead of handrolling everything.Maarten Lankhorst
No real changes yet, only replaced output validation with for_each_valid_output_on_pipe. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Enable tests for !intel drivers.Maarten Lankhorst
Apart from gem_create nothing depends on i915, so use the dumb api instead. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Reorganize test executionMaarten Lankhorst
Rename single-A-bo to pipe-A-single-bo, single-all-bo to pipe-all-single-bo, and ensure that test requirements are met. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-26kms_panel_fitting: Add tests for fastboot.Maarten Lankhorst
This is a small testcase to ensure fastboot works as intended. When I removed the pipe updates in intel_update_pipe_config the test started failing, so I think it's useful to keep. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_atomic_transition: run correctly when hitting hw limitsMaarten Lankhorst
On CHV with a 4K hdmi display it's possible to hit the wm upper limit, 1 rgb primary plane + 2 full size rgb secondary planes will hit a HW limit. To fix this try halving the horizontal width until we're below HW limits. This requires a kernel patch to make sure that the kernel considers actual width in wm calculations, but without it we get FIFO underruns anyway. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26tests: Add kms_atomic_transitionMaarten Lankhorst
This is meant as a stress test, to ensure that all combinations of atomic transitions work correctly. This could be useful for other drivers too, so I kept it generic. For i915 this will mainly be a stress test on watermark calculations. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26tests: Add kms_rmfb test.Maarten Lankhorst
This tests rmfb and last close behavior. In those cases the framebuffers should be removed from the crtc. If atomic modeset is supported, we do it all in one nice atomic commit too. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26igt_kms: Remove pan members from igt_plane, v2.Maarten Lankhorst
They're duplicates with src_x/y, so just use those. Changes since v1: - Fix order of parameters in calls to igt_fb_set_position. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
2016-07-26tests/kms: Clean up more users of unassigned pipes.Maarten Lankhorst
Use for_each_pipe_with_valid_output instead. This may increase test time slightly on the affected tests, because now outputs will be tested on every pipe instead of the first pipe. This will increase test coverage to all usable pipes though, so it shouldn't be an issue. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
2016-07-26kms_sink_crc_basic: Use for_each_pipe_with_valid_output to find a valid config.Maarten Lankhorst
PIPE_ANY was used here to assign the first valid pipe, this will no longer be allowed, so explicitly set it. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
2016-07-26kms_psr_sink_crc: Use for_each_pipe_with_valid_output to find a valid ↵Maarten Lankhorst
config, v2. This is the only time PIPE_ANY was used to mean something other than unassign this output from a pipe. Without this PIPE_ANY can be aliased to PIPE_NONE. Changes since v1: - Remove DRM_MODE_CONNECTED check, it's implied. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
2016-07-26igt_kms: Remove kmstest_connector_config.crtc_idxMaarten Lankhorst
This is the same as using config.pipe because the order of crtcs will never change. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
2016-07-25tests/gem_sync: Skip basic-store-each sub-test on BDW.Marius Vlad
Causes too much noise in CI, so skip it for now. Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-07-25tests/prime_busy: Remove unstable sub-test from BAT/add flag to bring them ↵Marius Vlad
back when they're stable to be run in CI. The following BAT are causing problems: prime_busy@basic-after-default, fails on all platforms since it was added, and it sometimes hangs BSW machine prime_busy@basic-before-default, fails on all platforms since it was added. prime_busy@basic-wait-after-default, fails on all platforms since it was added, and it sometimes hangs BSW machine prime_busy@basic-wait-before-default, fails on all platforms since it was added. Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-07-25tests/prime_vgem: Remove BAT sub-tests that cause intermittent fails.Marius Vlad
The following tests are causing problems in CI: prime_vgem@basic-fence-flip, fails intermittently on a HSW and SKL prime_vgem@basic-fence-wait-default, fails on all platforms since it was added prime_vgem@basic-sync-default, fails on all platforms since it was added, and it sometimes hangs BYT machine prime_vgem@basic-busy-default, fails on all platforms since it was added prime_vgem@basic-wait-default, fails on all platforms since it was added, and it sometimes hangs BYT machine Add a flag to enable them when they get stable enough. Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-07-22lib/sysfs: Provide a convenience function for reading a boolChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-22igt/gem_exec_nop: Display submission mechanismChris Wilson
Useful for confirmation when testing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-22igt/gem_mocs_settings: Adjust the expected value for the third BXT entryImre Deak
Adjust the third MOCS entry value based on the corresponding change in the kernel. Signed-off-by: Imre Deak <imre.deak@intel.com>
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>