summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2019-02-18igt/gem_ctx_exec: Exercise I915_CONTEXT_PARAM_RECOVERABLEChris Wilson
When RECOVERABLE is set, the kernel will attempt to automatically recover a context after a hang. But if it is unset, the kernel will ban the guilty context on a hang, preventing subsequent execution. v2: Create a has_recoverable_param() Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-02-17i915/gem_create: Verify that all new objects are clearChris Wilson
The kernel must not return stale information back to userspace when they create a new object. For that purpose, we always clear objects on creation, so verify that this is so. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
2019-02-15tests/i915/gem_exec_schedule.c: Switch to gem_sync and gem_readAntonio Argenziano
use IOCTLs gem_read for reading and, gem_sync to wait on a batch, this will help testing platforms that might not expose gtt mapping. v2: - use a local helper for reading from BOs. (Chris) - Always sync before reading. (Chris) v3: - Better helper naming. (Chris) - Start read from actual offset. (Chris) v4: - Always use byte size in helper. (Chris) v5: - Fix byte<->count conversion. (Chris) Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-02-15intel-ci: Disable i915_suspend@shrinkChris Wilson
This test produces an awful, awful lot of redundant output as it tries to find just the right amount of memory pressure to cause an out-of-memory event in the middle of suspend. That is always quite a slow process, taking 90s on a normal machine and 500+s on skl-y. Furthermore, even when we do achieve the perfect setup, the test frequently locks up and fails to resume with no indication that it is a bug in the driver. The shrinker and oomkiller (plus i915) do not make for a pleasant time! Enough of Martin's whinging, I see no way of easily making this test quieter, quicker and more efficacious, relegate it to the masochist only stable. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Martin Peres <martin.peres@free.fr> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Martin Peres <martin.peres@free.fr>
2019-02-15i915/gem_eio: Allow older platforms more leniency in reset latencyChris Wilson
Older platforms need to clobber the display around a reset (incl. a modeset to off, and a modeset back on), which can be much slower than the reset itself. Give these platforms (gen2-4) some leniency and allow them a higher limit before declaring them a failure. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-02-15i915/gem_eio: Check average reset timesChris Wilson
As we have moved to rcu/srcu to serialise the resets, individual resets are subject to small variations in system grace periods. Allow for this by only expecting the median reset time to be within our target, thereby excluding noisy outliers from perturbing our results (but keep the maximum capped to prevent horrid failures!) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-02-15intel-ci: Ignore performance-only pread/pwrite "tests"Chris Wilson
We don't need to waste time running perf-only test cases when we are not manually checking results. ezbench is that away! References: https://bugs.freedesktop.org/show_bug.cgi?id=109640 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Petri Latvala <petri.latvala@intel.com>
2019-02-15lib/core_auth: mount namespace magic to make the test work everywhereDaniel Vetter
We're creating our own namespace and then create a copy of the chardev that anyone can access before dropping root. Should hopefully work on any system. This way we're also guaranteed to open the right device again. v2: mount(2) instead of mount(3). v3: Drop execute bits from our temporary chardev (Chris). Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-02-15tests/i915_missed_irq: Don't leave the hang detector hangingDaniel Vetter
Spotted by my new "are there any child processes left?" check in igt_exit - we need to put all the igt_require before we start any real test logic. v2: Rebase. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-02-15tests/gem_exec_reuse: Don't leak the hang detectorDaniel Vetter
My new "are there any child processes left?" check in igt_exit catched this one. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-02-14kms_content_protection: Macros replace the constantsRamalingam C
For better readability, numeric values are replaced with macros. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-02-14kms_content_protection: Confirm that LIC is passedRamalingam C
Once the HDCP is enabled, kernel will run the link integrity check(LIC) atleast once in 2Secs based on the HDCP versions. So to confirm the link integrity check is passed, we oberve that HDCP state remains ENABLED for next 4Secs. v2: Rebased. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-02-14kms_content_protection: Test CP along with modesetRamalingam C
As we have two different patch for commitng the HDCP request 1. DDI_enable (during the modeset) 2. update_pipe (during fastset execution) Currently our kms_content_protection covers only fastset path. So this test adds the coverage for the HDCP during the modeset by performing DPMS off-on and check for HDCP status. But with respect to HDCP we allow few retries from userspace before reporting the failure. So only first attempt at kernel will be on modeset path, next retries will become fastset commiting of HDCP. v2: dpms test is added within existing implementation with a flag [Daniel] v3: ret declared. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-02-14kms_content_protection: modularizing the CP test stepsRamalingam C
Modularizing the CP test steps for the convenience of reusing it for other subtests. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
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-13i915/gem_ctx_sseu: Fix 32-bit buildGuillaume Tucker
This fixes a compiler warning treated as an error when building for 32-bit architectures since their pointer size does not match the size of drm_i915_gem_context_param.value which is 64 bits: CC i915/gem_ctx_sseu.o i915/gem_ctx_sseu.c: In function ‘test_ggtt_args’: i915/gem_ctx_sseu.c:384:9: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] munmap((void *)arg.value, 4096); It was found while building for arm with gcc 6.3.0 and I suspect the same problem would arise for i386 or other 32-bit architectures. The uintptr_t type is by definition an unsigned integer of the same length as a pointer on a given architecture, so this should fix the problem for all architectures up to 64 bits. Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-02-13Revert "igt_command_line.sh: Abort if run as root"Arkadiusz Hiler
This reverts commit 845c9fb45b734aef95e2fb2317d0c02567e06a68. To unblock GitLab's CI while a proper solution is in the works. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-02-13tests/core_unauth_vs_render: new test for the relaxed DRM_AUTH handlingEmil Velikov
As the inline comment says, this test checks that the kernel allows unauthenticated master with render capable, RENDER_ALLOW ioctls. The kernel commit has extra details why. v2: - drop RUN_AS_ROOT guard - call check_auth() on the {,un}authenticated device - check the device is PRIME (import) capable - check the device has render node - tweak expectations based on above three - elaborate why we care only about -EACCES v3: - fold into existing core_auth.c - move igt_assert within the subtest - make has_prime_import() an igt_require() - check for BADF before and after, as requested. Not strictly needed. - swap igt_info+drm_open_driver with comment + __drm_open_driver Former calls igt_skip() which is problematic with igt_fork(). Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> (irc)
2019-02-13tests/core_setmaster_vs_auth: drop __linux__ includes hunkEmil Velikov
Seeming copy/paste from another test. None of the includes are required. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-02-12i915/gem_exec_latency: Eliminate the wakeup penaltyChris Wilson
The first dispatch incurs the cost of waking up the device, so also measure after issuing a spinner to keep the device awake as we submit. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2019-02-12i915/gem_exec_latency: Normalize results into nsChris Wilson
Present the latency results in nanoseconds not RCS cycles. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2019-02-12igt_command_line.sh: Abort if run as rootArkadiusz Hiler
`ninja test` invokes igt_command_line.sh for each test binary to check the behavior of some of the switches. One of the verified things is that the test exists with non-zero status when requesting invalid subtest. `--run-subtest` results in igt_fixtures being executed - this fiddles with the device and sysfs knobs. Let's exit early, if we are root, to save people form unintentional side-effects and strange failures. Cc: Petri Latvala <petri.latvala@intel.com> Cc: Andi Shyti <andi.shyti@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-02-12i915/gem_mmap_gtt: Impose a timeout for "hang"Chris Wilson
Only wait a maximum of 2 more seconds for the hang children to complete, to catch deadlocks in a timely fashion. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
2019-02-11igt: tests: chamelium: Add YUV formats testsMaxime Ripard
The NV12, NV16, NV21, NV61, YUV420, YVU420, YUV422 and YVU422 are YUV formats that are currently supported in IGT. We'll want to test those formats in addition to the RGB formats, so let's add some subtests. One thing worth noting is some hardware isn't able to output a pixel-perfect image, so we do the same kind of comparison than for VGA. Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2019-02-11igt: tests: chamelium: Convert VGA tests to do_test_displayMaxime Ripard
The VGA tests were run so far as part of a separate function. However, the only difference between that function and the do_test_display function was the kind of comparison we wanted to use. Indeed, VGA being an analog output, we can't rely on a pixel perfect image, and thus only compare the CRCs, but we need to make some more advanced comparison. Let's add a new check method, add support for the analog check to do_test_display and remove the old version. Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2019-02-11igt: tests: chamelium: Start to unify testsMaxime Ripard
The various tests in kms_chamelium are really variants of one another but share little code. In addition to the duplication, this gets in the way of the introduction of more tests, or to be able to run all the tests on all the output, which isn't the case at the moment, with the HDMI and DP tests and the VGA tests being different. Start by introducing a check parameter to the do_test_display function, that will tell which test method we want to use to compare the frames. Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2019-02-08i915/gem_exec_scheduler: Disable alarm before exiting childChris Wilson
Still the blighted Starting subtest: pi-ringfull-bsd child 0 died with signal 14, Alarm clock Subtest pi-ringfull-bsd: FAIL (0.133s) So let's make sure our timer cannot fire later on during exit. References https://bugs.freedesktop.org/show_bug.cgi?id=109584 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>
2019-02-08i915/gem_exec_schedule: Rebuild signal handler in childChris Wilson
Make sure that the SIGARLM handler is captured so that we don't accidentally shoot ourselves in the foot instead of merely waking up the execbuf. The test is hitting child 0 died with signal 14, Alarm clock when we expect it to be hitting the inherited signal handler across the fork. Which is odd. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2019-02-05tests/gem_media_vme: Shut down half of subslices to avoid gpu hang on ICLTony Ye
On Icelake we need to turn off subslices not containing the VME block or the VME kernel will hang. v2: (Tvrtko Ursulin) * Remove libdrm usage for setting context param. * Cleanup bitmask operation. * Only apply the workaround for ICL. v3: (Tvrtko Ursulin) * Added hang detector. (Chris Wilson) v4: (Tvrtko Ursulin) * Rebase for hang detector moved to previous patch. * Tidy curly braces. v5: (Tvrtko Ursulin) * Whitespace tidy. (Joonas) 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_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-02-04tests/kms_cursor_crc.c: Remove framebuffer at the end of the testMamta Shukla
Use igt_remove_fb(data->drm_fd, &data->fb) to remove locally created framebuffer at the end of the hardware test loop in test_cursor_size() function for cursor-size-change subtest in kms_cursor_crc. Signed-off-by: Mamta Shukla <mamtashukla555@gmail.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
2019-02-04tests/kms_cursor_crc.c: Improve test_cursor_alpha()Mamta Shukla
In the kms_cursor_crc, the subtest to check exterme alpha values failed due to different CRCs observed in hardware and software rendering. This patch fixes CRC mismatch error in cursor-alpha-opaque and cursor-alpha-transparent subtests by improving the order in which cursor was rendered in hardware test. Changes made in test_cursor_alpha() to ensure cursor rendering in hardware test and acquire CRC value: - Add drmModeSetCursor() to set cursor image. - Remove igt_display_commit() to reduce the chance of getting crc values cleared before it is acquired. - Add igt_remove_fb() to remove locally created framebuffer after disabling the cursor plane in HW test Also, aligned this function with test_cursor_size and after these changes got passing results for alpha blending support added in VKMS CRC API. Signed-off-by: Mamta Shukla <mamtashukla555@gmail.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109350
2019-02-04i915/gem_mocs_settings: Allow hangs around reset testsChris Wilson
To inject a GPU hang, we should ask the kernel first if it is legal to do so. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2019-02-04i915/perf_pmu: Add trailing '\n' to an igt_assert_fChris Wilson
A missing newline at the end of an assert, so add it for clarity in the error message. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-02-02i915/query: Update topology info to match realityChris Wilson
CI has a HSW GT1 with a single subslice. Accept this as a possible truth value. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106600 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2019-02-01tests/kms_frontbuffer_tracking: Fix skips when PSR is not available.Maarten Lankhorst
Use psr.can_test to determine we can disable PSR, and not skip because PSR is unavailable. Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: José Roberto de Souza <jose.souza@intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-31i915/gem_cpu_reloc: Do the can-store-dword check at startChris Wilson
igt doesn't handle skipping from inside igt_fork very gracefully and crashes instead of reporting the lack of requirements. One solution would be to fix igt, but far easier is to just move the requirement checking around to do it before we even fork. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109493 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-01-31sw_sync: Initialise struct before useChris Wilson
sw_sync: ../lib/igt_core.c:1592: __igt_fork_helper: Assertion `!proc->running' Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108889 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
2019-01-30i915/gem_eio: 64 batches may be too many for some devices!Chris Wilson
Actually measure how many batches we can fit into a ring before blocking, or else we may end up hanging the device earlier than expected! v2: Mostly conservative. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109014 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
2019-01-30intel-ci: Drop gem_exec_nop from BATChris Wilson
This pair, gem_exec_nop/{series,parallel}, are very light stress tests of which we already perform the same sequence inside i915_selftests/live_requests. We keep basic uABI coverage (i.e. plain old gem_execbuf) via the likes of gem_exec_basic and gem_exec_reloc so all gem_exec_nop adds are nefarious HW details, much less likely to spot if a test is of sound quality for further testing (and again, we have alternate coverage of the same HW stress). Between the pair of subtests, gem_exec_nop takes about 20s of BAT. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2019-01-30i915/gem_eio: Check for allow-hang prior to issuing a resetChris Wilson
Check that we are allowed to hang/reset the GPU before we actually do so for the first time. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-01-30i915/selftest: Allow filtering of individual subtestsChris Wilson
Take an environment variable, SELFTESTS=foo,bar, and pass that along to the kernel (as i915.st_filter=foo,bar) to provide fine grained test selection. This can be either as an exact match to select only that test, or to exclude only test. For example, SELFTESTS=igt_vma_create,igt_vma_pin1 i915_selftest --run mock_vma SELFTESTS=!igt_vma_create i915_selftest --run mock_vma v2: Replace NULL with the empty string. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2019-01-30i915/gem_workarounds: Require GPU resetsChris Wilson
Check that we are allowed to reset the GPU prior to execution. v2: Push the require checking up into a subgroup Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-01-29i915/pm_rpm: Check for functional GEM before useChris Wilson
Check the GPU (using GEM) is up and operational before submitting commands. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2019-01-29i915/perf_pmu: Check for hangs allowedChris Wilson
Check we can reset the GPU before running the reset test. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-01-29i915/gem_exec_capture: Check the strlen() for an empty fileChris Wilson
igt_sysfs_get() only returns NULL if the open() fails, and a valid string otherwise. So if the read() fails with ENODEV (because sysfs doesn't provide the driver with an ->open() callback), we return an empty string, and "No error captured" otherwise. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109481 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@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-29automake: Ditch all EXTRA_DIST directivesDaniel Vetter
We're not using automake to build tarballs anymore. 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>