summaryrefslogtreecommitdiff
path: root/tests/Makefile.sources
AgeCommit message (Collapse)Author
2019-04-15tests: Add kms_plane_cursor testsNicholas Kazlauskas
Tests various cursor plane interactions with primary and overlay planes. Correctness is verified by comparing CRC values to reference buffers drawn on the primary plane. There are existing generic multi-plane interaction tests but these don't test positional output on overlapping planes or extensively cover edge and corner cases for offseting and positioning planes based on DRM parameters. On hardware without dedicated cursor planes (such as AMDGPU) these tests are helpful for verifying software calculations done for positioning the cursor plane. Cc: Leo Li <sunpeng.li@amd.com> Cc: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Leo Li <sunpeng.li@amd.com>
2019-04-03tests: Remove i915_missed_irqJosé Roberto de Souza
i915_ring_missed_irq was removed from debugfs in kernel patch 789659f4307a ("drm/i915: Drop fake breadcrumb irq") and it was the base of which i915_missed_irq was written, so removing this test for good. Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-04-03tests: Rename kms_chv_cursor_fail to kms_cursor_edge_walkDaniel Vetter
It's a generic testcase, originally for a chv issue, but we can hit legit bugs with this on any platforms. And we do, which then results in confused managers. Let's rename for clarity. Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Cc: "Peres, Martin" <martin.peres@intel.com> Cc: Ville Syrjala <ville.syrjala@linux.intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: "Peres, Martin" <martin.peres@intel.com> Acked-by: James Ausmus <james.ausmus@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-03-01tests: s/core_prop_blob/kms_prop_blobDaniel Vetter
It's a kms test, name it accordingly. Also sort the build lists while at it, one test got misplaced. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-02-20tests: Prefix pm_ tests with i915_ and move them to i915/Arkadiusz Hiler
They are i915-specific, so they belong to the directory. The (now) infix _pm_ is quite informative and worth keeping. v2: also prefix .c files Cc: Petri Latvala <petri.latvala@intel.com> Cc: Ewelina Musial <ewelina.musial@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2019-02-20tests/i915: Rename files so they correspond to binary namesArkadiusz Hiler
So we do not have to do any rename shenanigans in the build system and the .c files are easier to find. Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2019-02-13test: Add PSR2 selective update testsJosé Roberto de Souza
This tests checks if hardware is able to do selective update when screen changes. PSR2 don't trigger interruptions and the 'PSR2 SU status' register is not kept loaded all the times, so it is necessary keep polling PSR status debugfs until those values are loaded. Also from DEEP_SLEEP state HW will not do a seletive update, as most of the memory/context is lost in deep sleep state hardware will need to exit PSR mode then wait a configured number of frames to activate PSR again to then start doing seletive updates, that is why just one screen change is not enough to pass this tests. When a selective update happens and the values are loaded and read from debugfs it is compared with the expected value of seletive update blocks, if matches the polling is stopped and the test passed otherwise it will wait until it reachs a maximum number o screen changes to fail the test. v2: Using new SU blocks debugfs output v3: - removed the timerfd to fail the test, now failing based in a maximum number of screen changes - removing thread to read debugfs, read from main thread is enough - improved commit message v4: - getting cairo context for frontbuffer test in prepare() - droppoing poll(), using blocking timerfd instead v5: - Doing a modeset before trying to enable PSR2 v6: - doing atomic commits to fix(legacy commit is taking more time in recent kernels causing us to miss the SU when reading debugfs) and speedup test - fixed code to skip test when PSR2 is not possile Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Tested-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2019-02-05tests/gem_media_vme: Simple test to exercise the VME blockTony Ye
Simple test which exercises the VME fixed function block. v2: (Tvrtko Ursulin) * Small cleanups like copyright date, tabs, remove unused bits. v3: (Tony Ye) * Added curbe data entry for dst surface. * Read the dst surface after the VME kernel being executed. v4: (Tony Ye) * Added the media_vme.gxa kernel source code and compile instructions. v5: (Tvrtko Ursulin) * Added hang detector. v6: (Tvrtko Ursulin) * Replace gem_read with gem_sync. (Chris Wilson) Signed-off-by: Tony Ye <tony.ye@intel.com> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Tony Ye <tony.ye@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2019-02-05tests/gem_ctx_sseu: Dynamic (sub)slice programming testsLionel Landwerlin
Verify that the per-context dynamic SSEU uAPI works as expected. v2: Add subslice tests (Lionel) Use MI_SET_PREDICATE for further verification when available (Lionel) v3: Rename to gem_ctx_rpcs (Lionel) v4: Update kernel API (Lionel) Add 0 value test (Lionel) Exercise invalid values (Lionel) v5: Add perf tests (Lionel) v6: Add new sysfs entry tests (Lionel) v7: Test rsvd fields Update for kernel series changes v8: Drop test_no_sseu_support() test (Kelvin) Drop drm_intel_*() apis (Chris) v9: by Chris: Drop all do_ioctl/do_ioctl_err() Use gem_context_[gs]et_param() Use gem_read() instead of mapping memory by Lionel: Test dynamic sseu on/off more Tvrtko Ursulin: v10: * Various style tweaks and refactorings. * New test coverage. v11: * Change platform support to just Gen11. * Simplify availability test. (Chris Wilson) * More invalid pointer tests. (Chris Wilson) v12: * Fix MAP_FIXED use (doh!). * Fix get/set copy&paste errors. * Drop supported platform test. (Chris Wilson) * Add mmap__gtt test. (Chris Wilson) v13: * Commit message tweaks. * Added reset/hang/suspend tests. (Chris Wilson) * Assert spinner is busy. (Chris Wilson) * Remove some more ABI assumptions. (Chris Wilson) v14: * Use default resume time. (Chris Wilson) * Trigger hang after rpcs read batch has been submitted. (Chris Wilson) v15: * Adjust for uAPI restrictions. v16: * Build system changes. v17: * Remove all subtests which read the RPCS register. (Joonas Lahtinen) v18: * Tidy curly braces. (Joonas Lahtinen) v19: * Check flags/rsvd MBZ. v20: * Rebase for engine_class/engine_instance uapi change. v21: * Fixed meson.build. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> # v14 Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2019-01-29automake: Remove VC4/V3D build supportDaniel Vetter
Eric is using meson nowadays. v2: Fix up the test filter, meson lists now contain more than in the automake lists. Cc: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-01-29tests/core_auth: Merge getclient subtestsDaniel Vetter
Emil has another auth test which could use the check_auth function, so best to merge them all. We need a subtest group and put the tests which need to fully control who's master and how many open drm fd there are first. Cc: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-01-28tests: Add variable refresh rate testsNicholas Kazlauskas
There are 3 tests for basic variable refresh rate functionality. The tests measure flipping at the average between the current mode refresh rate and the minimum supported variable refresh rate. It tests that VRR is enabled and that the difference between flip timestamps converges to the requested rate. It also tests this under both S3 and DPMS. Potential ideas for future tests: - Test behavior inside VRR range with a stepping test - Test behavior outside of VRR range - Multi-monitor (limited by no async pageflips in DRM atomic API) Cc: Harry Wentland <harry.wentland@amd.com> Cc: Leo Li <sunpeng.li@amd.com> Cc: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
2019-01-28tests: Make a fb-tiling subtest to check for invalid tiling changes.Maarten Lankhorst
In 2013 we prevented changing the tiling of an active framebuffer: commit 80075d492f8773209e26d11d6bb13ba624ef95a4 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Wed Oct 9 21:23:52 2013 +0200 drm/i915: prevent tiling changes on framebuffer backing storage After this we no longer have any use for the bad-tiling subtest, and only have to make sure changing tiling on a fb is not allowed. Remove the original bad-tiling subtest, and add a i915_fb_tiling subtest for this case. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> [mlankhorst: Fix build system changes] Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2019-01-11test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDPManasi Navare
This patch adds a basic kms test to validate the display stream compression functionality if supported on DP/eDP connector. Currently this has only two subtests to force the DSC on all the eDP and DP connectors that support it with default parameters. This will be expanded to add more subtests to tweak DSC parameters. v8 (from Manasi): * Fix the logic to scan through all connectors even if some dont support DSC/FEC (Petri) * Fix the skip test logic if no connectors support DSC to avoid false positives (Petri) * Move test clenup to run_test v7: (from Anusha) * Code Style changes.(Petri) * Use for_each_pipe() instead of for_each_pipe_static().(Petri) * Correct logic by avoiding skipping of inner for loop completely.(Petri) v6: (from Anusha) * Fix run_test() (Petri) * Fix update_display() to avoid leaks. (Petri) v5: * Fix test cleanup to avoid crash (Petri) v4: * Future proof for more test types (Petri) * Fix alphabetical order (Petri) * s/igt_display_init/igt_display_require (Petri) * Remove blank lines after return (Petri) v3: * Use array of connectors and loop through (Petri) * Also check for FEC on DP connectors (Manasi) * Add a Pipe_A restriction on DP (Ville) v2: * Use IGT wrappers for all (DK, Antonio) * Split into two subtests for eDP and DP types (Petri) Cc: Petri Latvala <petri.latvala@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2019-01-08tests/amdgpu: Add test for Adaptive Backlight ManagementDavid Francis
Adaptive Backlight Management (ABM) is a power-saving feature on AMD ASICs that reduces backlight while increasing pixel contrast and luminance. This test confirms that ABM is present and enabled, and that backlight performance is sane. It uses AMD-specific debugfs entries to read the backlight PWM values. It has 5 subtests: dpms_cycle Sets brightness to half, then confirms that value is restored after dpms off and then on. backlight_monotonic_basic Sets brightness to ten different values, confirming that higher brightness values are brighter. backlight_monotonic_abm Same as backlight_monotonic_basic, but with abm enabled. abm_enabled Sets abm to its four intensity levels, confirming that abm reduces the backlight, and the reduction is greater for higher abm level. abm_gradual Sets abm to off and then maximum intensity, confirming that brightness decreases continually over the first second and eventually reaches the target value. This test takes 30s to run. v2: make sure that dpms is cycled on the eDP display Signed-off-by: David Francis <David.Francis@amd.com> Reviewed-by: Leo Li <sunpeng.li@amd.com>
2018-11-27v3d_*: Add new tests for the V3D UABI.Eric Anholt
These are basic non-rendering tests of the UABI. Signed-off-by: Eric Anholt <eric@anholt.net> Acked-by: Petri Latvala <petri.latvala@intel.com>
2018-11-16tests: Move drv_ tests to i915 directoryArkadiusz Hiler
The drv_ tests are i915 specific, so let's move them to i915 directory and change the binary prefix to i915_. Additionally, while we at moving stuff around, let's rename module_reload to module_load and do the following cleanup with the subtests: basic-reload -> reload basic-no-display -> reload-no-display basic-reload-inject -> reload-with-fault-injection Cc: Martin Peres <martin.peres@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Martin Peres <martin.peres@linux.intel.com>
2018-11-08tests/kms_lease: add tests for lease ioctls [v2]Keith Packard
Validate that the leasing API creates leases that allow access to a subset of the available resources and that lease revocation works. v2: from Dave Airlie <airlied@redhat.com> * Update ioctl numbers to latest proposed values. * Fix commit message * Add tests for get_lease and list_lessees v3: - Rebase - drop the get_driving_output test, that's already taken care of by the for_each_valid_output loop. Signed-off-by: Keith Packard <keithp@keithp.com> (v2) Reviewed-by: Dave Airlie <airlied@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2018-11-08tests/kms_sequence: Add tests for new CRTC get/queue sequence ioctls [v2]Keith Packard
These ioctls replace drmWaitVBlank and add ns time resolution and 64-bit sequence numbers to comply with the Vulkan API specifications. The tests were derived from the existing kms_vblank tests with the 'wait' variant elided as the new API doesn't provide a mechanism for blocking in the kernel. v2: from Dave Airlie <airlied@redhat.com> * Add local definitions of new ioctls to avoid requiring latest libdrm. * Remove FIRST_PIXEL_OUT as that has been removed from the proposed kernel patches. v3: - Rebase - drop the export of igt_output_get_driving_pipe, the tests do full modesets already. Signed-off-by: Keith Packard <keithp@keithp.com> (v2) Reviewed-by: Dave Airlie <airlied@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2018-10-25kms_content_protection: Add Content Protection testRamalingam C
Pretty simple test: - picks the hdcp capable output with suitable pipe and apply modeset. - checks the connected sink's hdcp capability through debugfs - apply a FB and wait for the flip completion. - clears the content protection property - verifies that it clears - sets the content protection property to desired - verifies that it transitions to enabled - incase of timeout three reattempts are implemented - clear the content protection property and modeset on the crtc Above steps are repeated on all HDCP capable connectors for both legacy and atomic subtests. v2: dynamic subtests are dropped [Daniel] v3: debugfs is used to detect the sink's hdcp capability [Daniel] data structure is made as global variable. v4: debugfs file from connector's debugfs dir is used [Daniel] v5: i915_debugfs_connector_dir() usage is modified [Chris] Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-10-23tests: Introduce i915 directoryArkadiusz Hiler
We can already move all the tests with distinct prefixes: gem_, gen3_ and i915_. pm_ and drv_ tests will follow in batches, so we can do the adjustments in the reporting/filtering layer of the CI system. v2: Fix test-list.txt generation with meson v3: Fix docs build (Petri) Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Tested-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-10-17tests/kms_selftest: Integrate kernel selftest test-drm_modesetDeepak Rawat
Call kernel selftest module test-drm_modeset for testing KMS. v2: - Add test alphabetically. - Add test to meson build. v3: Rename to kms_selftest. Signed-off-by: Deepak Rawat <drawat@vmware.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-10-02tests: Add kms plane alpha blending test, v2.Maarten Lankhorst
Add a few tests to test various blending modes. Some of the tests will skip if pixel mode alpha cannot be enabled with plane alpha at the same time. This is for mali-dp. I didn't test on that platform, but tested with the same check on i915. The tests won't pass i915 on pre-gen11 hw. i915 has small rounding errors with 0xff and 0x00 alpha, which gives CRC mismatches. Changes since v1: - Send the correct version, with the skips for mali-dp in place. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-09-18tests/gem_ctx_bad_exec: Consolidate to gem_ctx_execTvrtko Ursulin
Move a really small test that invalid context is rejected under the gem_ctx_exec umbrella. v2: * And actually fix the test so it does what it claims. And add more variety in the invalid context id's it tests with. (Chris Wilson) v3: * Rename the test as basic. * Limit to 32-bit. (Chris Wilson) * Add previously valid but closed context id to the test. (Chris Wilson) v4: * Add more invalid values. (Chris Wilson) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-07-17tests/sink_crc: Remove kms_sink_crc_basicDhinakaran Pandiyan
"drm/i915: Kill sink_crc for good" removes the kernel support for sink crc. References: https://patchwork.freedesktop.org/series/46039/ Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-17igt: Remove gvt_basicChris Wilson
This was always a placeholder for GVT stakeholders to provide some better tests. 2 years later and none have been put forward so stop wasting CI's time running a placeholder. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106989 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Zhi Wang <zhi.a.wang@intel.com> Acked-by: Martin Peres <martin.peres@linux.intel.com>
2018-07-13tests/psr: Rename kms_psr_sink_crc.c to kms_psr.cDhinakaran Pandiyan
We don't use sink CRC anymore in this test. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-06-28tests: Drop drm_vma_limiter*Chris Wilson
These tests exercise an obscure piece of libdrm_intel API to keep the number of VMA opened in a process under a certain limit (only ever used by UXA as once upon a time we ran into the limit with many, many 1x1 pixmaps or something like that). The tests are not exercising kernel API (or ABI) and need to check their resource requirements first. However, since they are only testing libdrm_intel, remove them from igt as they would better belong in a libdrm_intel test suite. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106010 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Martin Peres <martin.peres@linux.intel.com> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2018-05-22tests/kms_available_modes_crc: Test all modes on all planesJuha-Pekka Heikkila
Ask from kernel about supported modes for each plane and try setting them on display and verify functionality with crc. DRM_FORMAT_ARGB8888 and DRM_FORMAT_ABGR8888 skip crc testing on primary and overlay planes because they produce incorrect crcs from hardware. DRM_FORMAT_ARGB8888 is tested on cursor plane. v3: address review comments from Mika Kahola. Stop crc at end of test before freeing it. Use libdrm instead of mixing ioctl and libdrm. v2: Address review comments from Mika Kahola. Keep crc running for all tests while on same pipe, set tile height to 16 and read only one crc per test. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
2018-05-08tests: Remove kms_mmio_vs_cs_flipMaarten Lankhorst
CS flips no longer exist, so the test has become useless. Other tests like kms_busy already perform some testing that's gpu agnostic. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-03-22tests/kms_getfb: Add test for getfbDaniel Stone
Add a new test exercising the GetFB API, specifically including its behaviour of always returning new handles even if the client already has a handle to the GEM buffer. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-03-12tests: add i915 query testsLionel Landwerlin
Add some new tests to cover the i915 query uAPI. The first user of this API is the RCS topology but we expect more to follow. v2: Complete invalid cases (Chris) Some styling (to_user_pointer, etc...) (Chris) New error check, through item.length (Chris) v3: Update for new uAPI iteration (Lionel) v4: Return errno from a single point (Chris) Poising checks (Chris) v5: Add more debug traces (Lionel) Update uAPI (Joonas/Lionel) Make sure Haswell is tested (Lionel) v6: s/query_item/query_items/ (Tvrtko) test that flags fields != 0 fail (Tvrtko) Split kernel writes checks out (Tvrtko) Verify that when an EU is available, so is slice & subslice it belongs to (same with subslice). (Tvrtko) Verify kernel errors out with read only memory (Tvrtko) v7: Add a special Haswell test to verify correct values (Tvrtko) Simplify igt_require() in front of tests (Tvrtko) v8: Reuse the GT field from device info to verify slice/subslices numbers on wider number of platforms (Lionel) v9: Fix invalid number of subslices on GT4 (Lionel) Update comments style (Tvrtko) Test invalid query pointer (Tvrtko) Check topology item minimum length (Tvrtko) Test invalid item data pointers (Tvrtko) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-03-06igt: Remove gen7_forcewake_mtChris Wilson
Having demonstrated that FORCEWAKE_MT is suspect to the same old concurrent mmio access bug that stalks gen7, we have shown that it is not viable for userspace to poke around inside FORCEWAKE_MT directly. As it can not work correctly, remove the test. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-02-22igt: Add VC4 purgeable BO testsBoris Brezillon
v3: Make sure we receive a SIGBUS signal when accessing memory of a purged BO Add <signal.h> include after rebase (by anholt) Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
2018-02-21igt/gem_ctx_isolation: Check isolation of registers between contextsChris Wilson
A new context assumes that all of its registers are in the default state when it is created. What may happen is that a register written by one context may leak into the second, causing mass confusion. v2: Extend back to Sandybridge (etc) v3: Check context preserves registers across suspend/hibernate and resets. v4: Complete the remapping onto the new class:instance v5: Not like that, like this, try again to use class:instance v6: Prepare for retrospective gen4 contexts! v7: Repaint register set name to nonpriv, as this is what bspec calls the registers that are writable by userspace. v8: Fix a typo for LRM on gen8 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2018-02-01tests: Remove kms_renderMaarten Lankhorst
This was a test that required manual verification to see whether FBC, was handled correctly. But the automated testing has been added with kms_frontbuffer_tracking, so this test no longer serves a purpose. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Imre Deak <imre.deak@intel.com>
2017-12-05tests/gem_seqno_wrap: Drop gem_seqno_wrap.cAbdiel Janulgue
gem_seqno_wrap is defunct as the debug API withered away. The handling of wraparound under many different workloads is tested by gem_exec_whisper (Chris). Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2017-12-05tests/gem_pin: Drop gem_pin.cAbdiel Janulgue
gem_pin ABI is going away (Chris). Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2017-12-05tests/gem_hangcheck_forcewake: Drop gem_hangcheck_forcewake.cAbdiel Janulgue
gem_hangcheck_forcewake has been superseded by drv_hangman, and a lot of other very extensive hangchecking that is not run by CI (Chris). Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2017-11-28igt: Remove gem_ctx_basicChris Wilson
This is just a very plain stress test that doesn't do any verification, and is entirely duplicated by the other context tests. The test currently leaks objects from every thread on every pass (which is triggering an oom on smaller machines), while fixing it would be trivial, it also is pointless as the test is of little merit. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2017-11-22tests/perf_pmu: Tests for i915 PMU APITvrtko Ursulin
A bunch of tests for the new i915 PMU feature. Parts of the code were initialy sketched by Dmitry Rogozhkin. v2: (Most suggestions by Chris Wilson) * Add new class/instance based engine list. * Add gem_has_engine/gem_require_engine to work with class/instance. * Use the above two throughout the test. * Shorten tests to 100ms busy batches, seems enough. * Add queued counter sanity checks. * Use igt_nsec_elapsed. * Skip on perf -ENODEV in some tests instead of embedding knowledge locally. * Fix multi ordering for busy accounting. * Use new guranteed_usleep when sleep time is asserted on. * Check for no queued when idle/busy. * Add queued counter init test. * Add queued tests. * Consolidate and increase multiple busy engines tests to most-busy and all-busy tests. * Guarantte interrupts by using fences. * Test RC6 via forcewake. v3: * Tweak assert in interrupts subtest. * Sprinkle of comments. * Fix multi-client test which got broken in v2. v4: * Measured instead of guaranteed sleep. * Missing sync in no_sema. * Log busyness before asserts for debug. * access(2) instead of open(2) to determine if cpu0 is hotpluggable. * Test frequency reporting via min/max setting instead assuming. ^^ All above suggested by Chris Wilson. ^^ * Drop queued subtests to match i915. * Use long batches with fences to ensure interrupts. * Test render node as well. v5: * Add to meson build. (Petri Latvala) * Use 1eN constants. (Chris Wilson) * Add tests for semaphore and event waiting. v6: * Fix interrupts subtest by polling the fence from the "outside". (Chris Wilson) v7: * Assert number of initialized engines matches the expectation. (Chris Wilson) * Warn instead of skipping if we couldn't restore the initial frequency. (Chris Wilson) * Move all asserts to after the test cleanup (just a tidy). * More 1eN notation for timeouts. * Bump the tolerance to 5% since I saw a few noisy runs with sampling counters. * Always start the PMU before submitting batches to lower reliance on i915 doing the delayed engine busy stats disable. v8: * Update for upstream engine class enum. v9: * Add meson build support. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-11-21igt/vc4-label: Test setting labels of BOs.Eric Anholt
So far this test is basically making sure that we throw appropriate errors, and don't oops the kernel with silly inputs. v2: Add to meson build. Signed-off-by: Eric Anholt <eric@anholt.net> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2017-11-21igt/vc4_tiling: Test vc4's new set/get_tiling ioctls.Eric Anholt
This just checks that the appropriate errors get thrown, and that the modifier can be set/get successfully, and that the modifier doesn't leak to other BO allocations. Testing of scanout will be done with the writeback support that Boris is building. The modifier has no effect on V3D rendering, so no need to test that. v2: Add to the meson build. Signed-off-by: Eric Anholt <eric@anholt.net>
2017-10-18tests: remove kms_fbc_crcDaniel Vetter
This was the predecessor test to kms_frontbuffer_tracking, which not just tests fbc, and also in a much more through-out fashion. Both tests authored by Paulo, but looking at git history there's a clear switch with the introduction of kms_frontbuffer_tracking. After that only maintenance commits to kms_fbc_crc. Not point having redundant tests, so lets remove the old one. This will cut a bit more than 3 minutes of test-time from kbl-shard. Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Acked-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2017-10-12tests: Drop gem_bad_length as redundantDaniele Ceraolo Spurio
Most of the gem_bad_length code is compiled out because creating a zero-length object is not allowed anymore by i915 and thus it is not possible to execute it. The remaining part checks that creation of a zero-length object does indeed fail, which is also checked by gem_create/create-invalid-size. The only difference between the 2 tests is that gem_bad_length checks specifically for EINVAL while create-invalid-size only looks for failure, so after adding the EINVAL check to create-invalid-size it is safe to drop gem_bad_length. v2 (Joonas): - Clarify header line, split the patch, fix Meson build and add Cc: Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-10-10tests/syncobj: Add some wait and reset tests (v7)Jason Ekstrand
This adds both trivial error-checking tests as well as more complex tests which actually test whether or not waits do what they're supposed to do. They only currently work on i915 but it should be simple to hook them up for other drivers by simply implementing the little function pointer hook provided at the top for triggering a syncobj. v2: - Actually add the reset tests. v3: - Only do one execbuf for trigger - Use do_ioctl and do_ioctl_err - Better check for syncobj support - Add local_/LOCAL_ defines of things - Use a timer instead of a pthread v4: - Use ioctl wrappers - Use VGEM instead of i915 - Combine a bunch of the simple tests into one function v5: - Combinatorially generate basic tests - Use sw_sync instead of using vgem directly - Add even more tests v6: - Rebase on the new SYNCOBJ_RESET API - Add tests for SYNCOBJ_SIGNAL v7: - Improve the signal and reset bad pad tests Reviewed-by: Dave Airlie <airlied@redhat.com> [airlied: fix build] Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
2017-10-02tests: Rename kms_pipe_color to kms_colorMaarten Lankhorst
Rename kms_pipe_color to kms_color, and rename the invalid tests to pipe-invalid. To prepare for adding support for plane color management. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
2017-09-20meson: align test-list.txt generation with automakeDaniel Vetter
- I forgot the chamelium tests - Order tests the same way in both build systems. Since testdisplay is special, it's easier to put that at the end in meson, so adjusted automake to suit. With this you can diff the 2 test lists and end up with 0 differences, which will be useful to CI meson vs. automake. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2017-09-12tests: Add kms_atomic_interruptible test, v4.Maarten Lankhorst
This tests the various parts of atomic that I want to make interruptible. Running with --debug shows the stats from __igt_sigiter_continue, which can be used to make sure that we don't fall over. The default igt kms helpers use drmIoctl, which is not intercepted by igt_while_interruptible. Only igt_ioctl is. This means we have to call the ioctls manually here. Changes since v1: - Implement interruptible DPMS checking too. - Use igt_ioctl + igt_while_interruptible, instead of the signal helper shotgun. Changes since v2: - Bump whitespace to get rid of the weird double } at same indent. - Use more newlines in the call to the atomic ioctl. Changes since v3: - Fix copyright on year. (Adrinael) - Use do_ioctl instead of do_or_die(igt_ioctl) (ickle). - Add test description. (Adrinael) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Daniel Stone <daniels@collabora.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> #v1 Reviewed-by: Petri Latvala <petri.latvala@intel.com> [mlankhorst: Document sleep values (Adrinael)]
2017-08-29igt: Add gem_closeChris Wilson
What transpired recently was that we allow a single process to create multiple handles to the same VMA (which I broke). Make sure we test! References: https://bugs.freedesktop.org/show_bug.cgi?id=102355 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>