summaryrefslogtreecommitdiff
path: root/tests/intel-ci
AgeCommit message (Collapse)Author
2022-06-22tests/intel-ci: Rename kms_pipe_crc_basic subtests in BATBhanuprakash Modem
As we converted the subtests to dynamic, we must rename the same subtests in BAT. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2022-06-22tests/intel-ci: Rename kms_cursor_legacy subtests in BATBhanuprakash Modem
As we converted the subtests to dynamic, we must rename the same subtests in BAT. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2022-06-10tests/intel-ci/fast-feedback: add i915_module_load@loadRyszard Knop
This should be the first test that runs in most CI test lists, as it makes sure i915 is available, and if not, logs why it can't be loaded. Signed-off-by: Ryszard Knop <ryszard.knop@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-06-01test/intel-ci/fast-feedback: Add i915_pciid testKarolina Drobnik
Add test to assert that the PCI-ID of a device is being detected to the fast-feedback test list. This check won't pass for new devices that have no matching entry in intel_device_match table, warning us that device info definitions are missing and should be added. Signed-off-by: Karolina Drobnik <karolina.drobnik@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-05-16tests/intel-ci/fast-feedback: Add suspend tests without i915 to ↵Riana Tauro
fast-feedback list Add basic-s2idle-without-i915 and basic-s3-without-i915 to fast-feedback list. v2: rebase v3: rebase Signed-off-by: Riana Tauro <riana.tauro@intel.com> Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-04-26intel-ci: Reorder system suspend tests to lastAnshuman Gupta
Reorder the system wide igt tests to last of fast-feedback.testlist, so we don't lose the other tests coverage on the platforms which are largely getting hit by Suspend/Resume related failures. v2: - Improved the comment in fast-feedback.testlist. [swati] Cc: Petri Latvala <petri.latvala@intel.com> Cc: Swati Sharma <swati2.sharma@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2022-04-08tests/intel-ci/fast-feedback: Move gem_lmem_swapping furtherLucas De Marchi
Commit 7506029428b3 ("tests/intel-ci/fast-feedback: Move gem_lmem_swapping") moved gem_lmem_swapping down. However moving it just before core_hotunplug is causing multiple warnings in CI. The tests should work regardless of the order, but let's not tank the CI results. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-04-06tests/intel-ci/fast-feedback: Move gem_lmem_swappingLucas De Marchi
Since commit 37ec3b8ffd2c ("tests/gem_lmem_swapping: limit lmem to 4G") we load the driver with limited 4GB of lmem for test execution. However this means we also have to 1) reload the driver with that param set and 2) unload it after we are done. However tests/intel-ci/fast-feedback.testlist has a dedicated section for tests that rely on module (un|re)loading so not to impact other tests. Move all gem_lmem_swapping to that section, after the coment: # All tests that do module unloading and reloading are executed last. # They will sometimes reveal issues of earlier tests leaving the # driver in a broken state that is not otherwise noticed in that test. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-03-30tests/intel-ci/fast-feedback: Add system-suspend-without-i915 subtest into ↵Tauro, Riana
fast-feedback list Add system-suspend-without-i915 subtest to CI fast-feedback test list. v2 : Addressing review comments Signed-off-by: Tauro, Riana <riana.tauro@intel.com> Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-01-10tests/fast-feedback.testlist: Add gem_softpin@safe-alignment subtestZbigniew Kempczyński
This test takes up to few hundred of milliseconds and exercises detecting of safe starting offset and alignment to use on discrete where memory regions constraints could differ on different gens. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2021-12-10intel-ci: blacklist gem_exec_alignment@pi-sharedMastan Katragadda
The reason for this is that it doesn't work with the dma-resv-object locking introduced recently in the code,and it's not going to be fixed anytime soon. drm/i915: Perform execbuffer object locking as a separate step To help avoid evicting already resident buffers from the batch we're processing, perform locking as a separate step. Link:https://cgit.freedesktop.org/drm-tip/commit/?id=5cd57f676bb946a00275408f0dd0d75dbc466d25 Signed-off-by: Mastan Katragadda <mastanx.katragadda@intel.com> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
2021-11-17tests/intel-ci/fast-feedback: Add four subtests of gem_lmem_swapping to BATZbigniew Kempczyński
Add basic and some random subtests to BAT to verify early lmem swapping is working on discrete. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Acked-by: Matthew Auld <matthew.auld@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2021-10-20intel-ci: Stop executing kms_bwPetri Latvala
kms_bw has problems running on i915. Block it until it gets fixed. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Cc: Swati Sharma <swati2.sharma@intel.com> Acked-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2021-09-13intel-ci: Block msm testsPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
2021-08-12tests/intel-ci: Remove kms_rotation_crc from pre-merge blacklistKarthik B S
Remove kms_rotation_crc@* test from pre-merge blacklist. Execution time on shards-tgl: Before: ~14mins. Current: ~2mins. Signed-off-by: Karthik B S <karthik.b.s@intel.com> Reviewed-by: Kunal Joshi <kunal1.joshi@intel.com>
2021-07-27tests/intel-ci: Remove hang tests from pre-merge blacklistBhanuprakash Modem
Remove kms_(busy|flip)-*hang* tests from pre-merge blacklist Below are the results on shards-tglb: |---------------------|-------------|---------------| | Test | Before | After | |---------------------|-------------|---------------| | kms_busy | ~8.3 mins | ~4.1 mins | |---------------------|-------------|---------------| | kms_flip@.*-hang-.* | ~4 mins | ~2 mins | |---------------------|-------------|---------------| Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Karthik B S <karthik.b.s@intel.com>
2021-06-09intel-ci: Remove pixel-format-source-clamping@* from the pre-merge blacklistPatnana Venkata Sai
After commit d28aee5c5f52 ("tests/kms_plane: Restrict the test execution to two pipes") these subtests got renamed, and along with the rename no longer take entire minutes to execute. Enable their execution on premerge. Cc: Karthik B S <karthik.b.s@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Patnana Venkata Sai <venkata.sai.patnana@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2021-04-13tests/gem_softpin: Verify allocator and execbuf pair work togetherZbigniew Kempczyński
Exercise objects offsets produced by the allocator for execbuf are valid and no EINVAL/ENOSPC occurs. Check it works properly also for multiprocess allocations/execbufs for same context. As we're in full-ppgtt we disable softpin to verify offsets produced by the allocator are valid and kernel doesn't want to relocate them. Add allocator-basic and allocator-basic-reserve to BAT. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Petri Latvala <petri.latvala@intel.com>
2021-04-09intel-ci: Remove pixel-format-pipe-A* from the pre-merge blacklistVille Syrjälä
We've had several watermark bugs slip through the net with all the pixel format test being blacklisted. Let's run these on one pipe so that we might catch at least some of the bugs. This will cost us only ~15 seconds on icl these days. Acked-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2021-04-06Get rid of GNU AutotoolsArkadiusz Hiler
Autotools have been deprecated in favor of Meson since early 2019. Signed-off-by: Arkadiusz Hiler <arek@hiler.eu> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Petri Latvala <petri.latvala@intel.com>
2021-04-01tests/i915/gem_watchdog: Exercise long rendering chainsTvrtko Ursulin
Test to demonstrate a problem with the proposed default fence expiry semantics where long rendering chain get silently broken. If we had fence error propagation (no clear agreement whether to do it or not) maybe userspace would see if, assuming fence status is looked at, but overall potential rendering corruption is the story in any case. Note that this is not a single long batch but just a long queue of work which could be viewed as heavy system load as well (like virtualisation or other types of resource sharing). v2: * Fix commit message. * Blacklist the test which is expected to fail for now. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
2021-01-03i915/gem_spin_batch: Avoid igt_require() in the middle of a for loop of spinnersChris Wilson
Don't accidentally SKIP a test after launching a bunch of spinners. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-30i915: Drop gem_cs_prefetchChris Wilson
Covered with more accuracy with selftests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-30i915: Drop gem_ctx_thrashChris Wilson
gem_ctx_thrash is not being actively used, so drop it rather than update it to recent APIs. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-12-22i915/gem_exec_fair: Try to spot unfairnessChris Wilson
An important property for multi-client systems is that each client gets a 'fair' allotment of system time. (Where fairness is at the whim of the context properties, such as priorities.) This test forks N independent clients (albeit they happen to share a single vm), and does an equal amount of work in client and asserts that they take an equal amount of time. Though we have never claimed to have a completely fair scheduler, that is what is expected. v2: igt_assert_f and more commentary; exclude vip from client stats, include range of frame intervals from each individual client v3: Write down what the test actually does! v4: Split out to gem_exec_fair so that we can apply CI filtering to reduce the test set Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Ramalingam C <ramalingam.c@intel.com> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2020-12-11intel-ci: Remove blacklisting for perf_pmu/cpu-hotplugChris Wilson
While this regularly breaks upstream, that is also a good reason to keep testing! Let's see if upstream is in a working mood. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
2020-11-23tests/fbdev: Add tests for read/writing with NULL-pointer buffersThomas Zimmermann
Trying to read and write with a NULL-pointer buffer should fail and report EFAULT. v6: * actually replace igt_require() (Petri) v4: * replace igt_require() by igt_assert() in "nullptr" (Petri) * add nullptr test to CI v3: * put igt_describe() before igt_subtest() (Petri) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-11-23tests/fbdev: Add tests for accessing framebuffer near EOFThomas Zimmermann
Fbdev has some specific behavior when reading/writing near the EOF, which the eof test checks. If at least one bytes has been written, the number of bytes has to be returned, otherwise an error code (if any) has to be returned, or otherwise 0 has to returned. Not all drivers get this right. v4: * replace igt_require() by igt_assert() in "eof" (Petri) * add eof test to CI v3: * put igt_describe() before igt_subtest() (Petri) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-11-23tests/fbdev: Add tests for write operations on framebufferThomas Zimmermann
The write tests check the written buffer against the content of the mapped framebuffer. v4: * replace igt_require() by iqt_assert() in "write" (Petri) * add write test to CI v3: * put igt_describe() before igt_subtest() (Petri) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-11-23tests/fbdev: Add tests for read operations on framebufferThomas Zimmermann
The read tests check the read buffer against the content of the mapped framebuffer. v4: * test malloc() success with igt_require() * replace igt_require() by igt_assert() in "read" (Petri) * add read test to CI v3: * put igt_describe() before igt_subtest() (Petri) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-11-23tests/fbdev: Map framebuffer in igt_fixtureThomas Zimmermann
The mapping of the framebuffer memory will be useful for read/write tests. Move it into an igt_fixture block. v4: * declare map as volatile (Petri) * test struct fb_fix_screeninfo.smem_len with igt_assert() * remove mmap test from CI Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-11-23tests/fbdev: Move existing tests into separate subgroupsThomas Zimmermann
Move the existing tests into subgroups for testing modesetting and accessing the framebuffer. v5: * test mmap() with igt_assert() (Daniel, Chris) v4: * declare fd as volatile (Petri) * add info test to CI v3: * put igt_describe() before igt_subtest() and igt_subtest_group() (Petri) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-11-17intel-ci: Broaden core_hotunplug blacklistChris Wilson
We're close, but iommu fails upon rebinding leading to dead GPUs and random failures in later tests. Random failures are a major nuisance. We will have to see if we can find the fix and try again in the future. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2644 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2020-10-13tests/kms_addfb_basic: Renaming tests as legacy tilingSwati Sharma
Tests require legacy get_tiling/set_tiling API's. Renaming the subtest names to make it obvious that these are legacy-only tests. v2: Made test name consistent (Matt) v3: Changed test names in fastfeedback (Petri) Suggested-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Swati Sharma <swati2.sharma@intel.com> Acked-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-10-09prime_vgem: Check that we wrap the vgem mmap with userptrChris Wilson
This came up in a discussion about importing virtio dma-buf, which are themselves plain shmemfs objects and so not only backed by struct pages, but wrappable by userptr. vgem share the same properties and so should serve as a useful proxy for testing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: "Graunke, Kenneth W" <kenneth.w.graunke@intel.com>, Cc: "Lahtinen, Joonas" <joonas.lahtinen@linux.intel.com> Cc: "Kondapally, Kalyan" <kalyan.kondapally@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
2020-09-14intel-ci: Add core_hotunplug@unbind-rebind to BAT scopeJanusz Krzysztofik
Unbinding and rebinding the driver to a device scenario is a subset of unloading and reloading the module and should give equally correct results. Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2020-09-14intel-ci: Un-blocklist *bind* subtests of core_hotunplugJanusz Krzysztofik
Subtests which don't remove the device, only unbind the driver from it, seem relatively safe and harmless for CI. Remove them from the CI blocklist. Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2020-08-06intel-ci: Add compare CRC sanity test to BATBhanuprakash Modem
We need to sanity-check for the CRC mismatches, otherwise the display validation tests are flawed. This patch will add CRC compare mismatch subtests to the fast-feedback list to make sure the CRC mechanism is clean from the platform. V2: * Add pipe-d as well (Petri) Cc: Swati Sharma <swati2.sharma@intel.com> Cc: Karthik B S <karthik.b.s@intel.com> Cc: Jeevan B <jeevan.b@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arek@hiler.eu> Acked-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
2020-07-23tests/device_reset: Test device sysfs resetMarcin Bernatowicz
Device reset is initiated by writing "1" to reset sysfs file, which should initiate PCI device Function Level Reset if supported by device. Test scenarios: 1. unbind driver from device, initiate sysfs reset, rebind driver to device 2. device reset with bound driver v2: removed unbind-rebind (duplicates core_hotunplug@unbind-rebind) added healthcheck to each test (Janusz) v3: after review corrections (renamed sysfs_fds to device_fds, corrected not closed file descriptor, removed variable length array) v4: updated description (Martin), snprintf corrections (Janusz), reset-bound added to blacklist as it hangs several gens of hosts (Tomi) Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@intel.com> Reviewed-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
2020-07-15intel-ci: s/huc_copy/huc-copy/Chris Wilson
Fix the testlist to match the test name. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2186 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2020-07-15tests/i915/gem_huc_copy: Enable a HuC copy testSally Qi
This test case loads the HuC copy firmware to copy the content of the source buffer to the destination buffer. v2: (Tony Ye) * Restructured some functions and files. * Defined the copy buffer size as 4K explicitly as the HuC Copy kernel always copy 4K bytes from src buffer to dst buffer. v3: (Feng Qi, Antonio Argenziano, Tony Ye) * Restructured some functions as igt requested, exclude libdrm function call. * Remove huc function wrappers * Random initialize source input buffer v4: (Robert Fosha) * Fix autotools build failure. v5: (Feng Qi, Tony Ye) * Released all bo buffer after huc copying. * Restructured huc_copy() function. v6: (Feng Qi) * Fixed the function of huc enabling and status check * Added huc_copy to fast feedback testlist v7: (Tony Ye, Feng Qi, Robert Fosha, Chris Wilson, Michal Wajdeczko) * Check error with HUC_STATUS ioctl instead of debugfs v8: (Antonio Argenziano) * Remove unnecessary variable. * Add huc_load subtest. * Move failure checks out of igt_fixture. * get_huc_status() returns errno and then status as a parameter v9: (Antonio Argenziano) * Remove huc_load subtest - to be added later. v10: * Rebase * Remove huc_load subtest from fast-feedback.testlist. Signed-off-by: Feng Qi <feng.qi@intel.com> Signed-off-by: Tony Ye <tony.ye@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
2020-05-15intel-ci: Leave gem_ctx_param to the shardsChris Wilson
Checking the basic API behaviour has only minimal driver coverage (essentially just the syscall validation paths) and does not provide good indication of wider driver health, nor do we expect the results to vary between machines (as we are only scratching the surface). There is no advantage to running these early in BAT, leave it to the shards. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2020-05-11i915/gem_ringfill: Do a basic pass over all engines simultaneouslyChris Wilson
Change the basic pre-mergetest to do a single pass over all engines simultaneously. This should take no longer than checking a single engine, while providing just the right amount of stress regardless of machine size. v2: Move around the quiescence and requires to avoid calling them from the children. v3: Lift the v3.10 [LUT_HANDLE, NORELOC] requirement checking to the opening fixture. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-05intel-ci: Only skip the hanging gem_exec_fence testsChris Wilson
gem_exec_fence includes a bunch of functional syncobj tests that are currently being skipped due to an eagerness to avoid the intentionally very slow hang tests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2020-04-17tests: Add a test for device hot unplugJanusz Krzysztofik
There is a test which verifies unloading of i915 driver module but no test exists that checks how a driver behaves when it gets unbound from a device or when the device gets unplugged. Implement such test using sysfs interface. Two minimalistic subtests - "unbind-rebind" and "unplug-rescan" - perform the named operations on a DRM device which is believed to be not in use. Another pair of subtests named "hotunbind-lateclose" and hotunplug-lateclose" do the same on a DRM device while keeping its file descriptor open and close it thereafter. v2: Run a subprocess with dummy_load instead of external command (Antonio). v3: Run dummy_load from the test process directly (Antonio). v4: Run dummy_load from inside subtests (Antonio). v5: Try to restore the device to a working state after each subtest (Petri, Daniel). v6: Run workload inside an igt helper subprocess so resources consumed by the workload are cleaned up automatically on workload subprocess crash, without affecting test results, - move the igt helper with workload back from subtests to initial fixture so workload crash also does not affect test results, - other cleanups suggested by Katarzyna and Chris. v7: No changes. v8: Move workload functions back from fixture to subtests, - register different actions and different workloads in respective tables and iterate over those tables while enumerating subtests, - introduce new subtest flavors by simply omitting module unload step, - instead of simply requesting bus rescan or not, introduce action specific device recovery helpers, required specifically with those new subtests not touching the module, - split workload functions in two parts, one spawning the workload, the other waiting for its completion, - for the new subtests not requiring module unload, run workload functions directly from the test process and use new workload completion wait functions in place of subprocess completion wait, - take more control over logging, longjumps and exit codes in workload subprocesses, - add some debug messages for easy progress watching, - move function API descriptions on top of respective typedefs. v9: All changes after Daniel's comments - thanks! - flatten the code, don't try to create a midlayer (Daniel), - provide minimal subtests that even don't keep device open (Daniel), - don't use driver unbind in more advanced subtests (Daniel), - provide subtests with different level of resources allocated during device unplug (Daniel), - provide subtests which check driver behavior after device hot unplug (Daniel). v10 Rename variables and function arguments to something that indicates they're file descriptors (Daniel), - introduce a data structure that contains various file descriptors and a helper function to set them all (Daniel), - fix strange indentation (Daniel), - limit scope to first three subtests as the initial set of tests to merge (Daniel). v11 Fix typos in some comments, - use SPDX license identifier, - include a per-patch changelog in the commit message (Daniel). v12 We don't use SPDX license identifiers nor GPL-2.0 in IGT (Petri), - avoid chipset, make sure we reopen the same device (Chris), - rename subtest "drm_open-hotunplug" to "hotunplug-lateclose", - add subtest "hotunbind-lateclose" (less affected by IOMMU issues), - move some redundant code to helpers, - reorder some helpers, - reword some messages and comments, - clean up headers. v13 Add test / subtest descriptions (patchwork). v14 Extract redundant device rescan and reopen code to a 'healthcheck' helper, - call igt_abort_on_f() on device reopen failure (Petri), - if any timeout set with igt_set_timeout() inside a subtest expires, call igt_abort_on_f() from a follow-up igt_fixture (Petri), - when running on a i915 device, require GEM and call igt_abort_on_f() if no usable GEM is detected on device reopen. v15 Add the test to CI blacklist (Martin). v16 Separate blacklist entry with a descriptive comment (Petri). Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Petri Latvala <petri.latvala@intel.com>
2020-04-15intel-ci: Blacklist igt@perf_pmu@cpu-hotplug until it no longer spams logsPetri Latvala
This test has been spamming logs like crazy since 5.7-rc1, filling every disk in sight and causing CI processing to grind to a halt. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-04-09intel-ci: Drop gem_exec_suspend@basic-S4-device from BATChris Wilson
S4-devices is a debug only path, and while it can prove informative as to the nature of suspend issues, being a debug only path it is not so relevant towards the driver health. Relegate it to the shards and idle runs, so we can shave 20s off BAT. gem_exec_suspend@basic itself is just a test suspend, a sanitycheck to ensure the test is functional, for manual debugging of the tests. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Martin Peres <martin.peres@linux.intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Acked-by: Martin Peres <martin.peres@linux.intel.com>
2020-04-04i915/gem_exec_gttfill: Dynamic active engine testsChris Wilson
Use igt_subtest_with_dynamic for the flexible approach to engine dependent test discovery. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-04-03prime_vgem: Dynamic active engine testsChris Wilson
Use igt_subtest_with_dynamic for the flexible approach to engine dependent test discovery. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-04-03prime_busy: Dynamic active engine testsChris Wilson
Use igt_subtest_with_dynamic for the flexible approach to engine dependent test discovery. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>