summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
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>
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>