summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2020-05-19i915/i915_pciid: Check for info->gen == 0Chris Wilson
An unknown pci-id should return a valid intel_device_info pointer, just with generic information. Check for the generic device info as well, and report that as an unknown PCI-ID. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-19i915/gem_busy: Remove unnecessary non-preemptible workloadDominik Grzegorzek
Non-preemptible spinners should be avoided as often as possible. gem_busy@basic has no reason to use non-preemptible workload, only hung subtests need it. Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-19i915: Add test to assert that the PCI-ID is knownChris Wilson
We do want to ensure that the igt identification table is kept up to date, and so would like to be warned if being run on an unknown chipset. Instead of refusing to run any test, have a specific test for the unknown chipset. Suggested-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-19i915/gem_exec_balancer: Exercise timeslicing around a hogChris Wilson
If a hog steals an engine after we are already using it for a virtual engine, it is preferrable to reschedule the virtual engine on another to run in parallel to (and complete before) the hog. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2020-05-19i915/gem_exec_balancer: Force timeslicing of the virtual requestChris Wilson
Investigate the impact of timeslicing on the virtal request, both with independent and dependent workloads. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2020-05-19lib/i915: Reset all engine properties to defaults prior to the start of a testChris Wilson
We need each test in an isolated context, so that bad results from one test do not interfere with the next. In particular, we want to clean up the device and reset it to the defaults so that they are known for the next test, and the test can focus on behaviour it wants to control. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-18i915/gem_exec_schedule: Check we can reprioritise ctx->engines[]Chris Wilson
A quick test to ensure that ctx->engines[] are independent and can be reprioritised and shuffled amongst themselves. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-18tests/i915_pm_rpm: Fix the universal-plane cap setting in plane testsImre Deak
The current value of the universal-plane capability is 1 if igt_display_require() has been called, so make sure we always set the value expected by the test and restore the correct original value. Cc: Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
2020-05-18tests/i915_pm_rpm: lpsp/non-lpsp screen mode_set_dataAnshuman Gupta
Initialize the mode set params for lpsp/non-lpsp screen based upon their output lpsp capability instead of edp/non-edp output type. v2: - CI failures fixup. v3: - changes according to lib function igt_output_is_lpsp_capable, prefix changed to i915_output_is_lpsp_capable. Acked-by: Martin Peres <martin.peres@linux.intel.com> Reviewed-by: Animesh Manna <animesh.manna@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
2020-05-18tests/i915_pm_lpsp: screens-disabled subtest use igt_waitAnshuman Gupta
When all screens are disabled, it takes some time to release eDP/DP AUX IO power domain ref count. Also, delayed audio codec disabling takes time to release AUDIO power domain ref-count, using igt_wait to check lpsp after disabling all screens. v2: - Added a code comment for delay of igt_wait. [Animesh] Reviewed-by: Animesh Manna <animesh.manna@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
2020-05-18tests/i915_pm_lpsp: lpsp platform agnostic supportAnshuman Gupta
Current implementation of lpsp igt test, assumed that every non-edp panel isn't a lpsp panel but it is not true on TGL anymore, any HDMI/DP/DSI panel connected on pipe A and connected to PORT_{A,B,C} can drive LPSP. Even on older Gen9 platform a DP panel can drive lpsp on Port A. This requires complete design change in current lpsp igt for a platform agnostic support. The new igt approach is relies on connector specific i915_lpsp_capability and i915_lpsp_status debugfs attributes, these debugfs exposes whether an output is capable of driving lpsp and lpsp is enabled. Nuking edp-native and non-edp test, introducing a new dynamic igt subtest kms-lpsp, which validates lpsp on each connected output and skip the subtest if output is not lpsp capable. Skip screens-disabled test for platform which support DC states. screens-disabled test is only valid for the platforms like HSW/BDW where PG1 is Always-ON power domain, so these platform test lpsp with all screen disabled i.e validate PG2 when all screen are disabled. DC state i.e DMC f/w supported platforms don't have any ROI to validate screens-disabled subtest as existing dc*-dpms i915_pm_dc subtest already validate it implicitly. v2: - CI failures fixup. v3: - removed unloading of snd_modules. [Martin] v4: - Don't test non-lpsp(if lpsp disabled), no ROI to test that. - nuke panel-fitter test. v5: - Added dynamic subtest and igt changes according to kernel debugfs i915_lpsp_status changes. v6: - Avoided pipe big joiner by using 4k or lesser mode, so igt will not fail when pipe big joiner patches will land to kernel. v7: - Combined [v6 4/6] patch to this patch, skip the screens-disabled subtest for DC state supported platforms. [Animesh] v8: - 4k mode correction 3840*2160 and for loop for available modes should iterate from c->modes[0]. [Ankit] Reviewed-by: Animesh Manna <animesh.manna@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com> Acked-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
2020-05-18tests/i915_pm_lpsp: Nuke the panel-fitter testAnshuman Gupta
panel-fitter subtest is only applicable to HASWELL/BROADWELL. It just tests non-lpsp(lpsp disabled) when panel fitter is enforced by std 1024x768 mode. There is no ROI to test non-lpsp kind of thing, If HSW_GLOBAL power well is not enabled we would see other display issues in other display tests. Gen9+ platform has display scaling feature in built per pipe, as lpsp is all about low power single pipe (PIPE A) usage, gen9+ platforms also don't require panel-fitter subtest. This should save some CI cycles. Reviewed-by: Animesh Manna <animesh.manna@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
2020-05-16i915/gem_exec_params: Fix invalid-bsd-ring expected value for no bsdChris Wilson
If there is no bsd ring at all, trying to choose any bsd ring should fail. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-15kms_flip: Trim test durations for basic subtests [BAT]Chris Wilson
Reduce the target runtime for the individual subtests as each may be repeated multiple times accumulating a substantial fraction of the BAT runtime. A 100 flips or so should be as good an indicator of basic driver health as a few thousand, with the stress testing coming in the non-basic testing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Petri Latvala <petri.latvala@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-13i915/gem_exec_params: Check that FENCE_IN | FENCE_SUBMIT is rejectedChris Wilson
Since both the in-fence and the submit-fence utilise the same slot in execbuf.rsvd2, we can only enable one of the two. If the user accidentally, tries to use both with the same fence, we expect EINVAL. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-13tests/kms_flip: Retry test in case of a DP/HDMI link resetImre Deak
At least an IIyama and LG monitor have a strange behaviour when waking from a power saving state and getting enabled with an otherwise successful modeset: after the modeset in ~2 sec they signal a bad link state, either due to a lost CR/EQ in case of DP or a lost scrambling/TMDS clock setting in case of HDMI link. In response the driver resets the link with either a link-retraining or a modeset, which in turn makes the test miss vblank/flip events and fail. Work around the above issue, by retrying the test once if the test detects after a failure that a link reset happened during the test and a corresponding hotplug uevent was sent by the driver. v2: Suspend the signal helper while waiting for a hotplug event, so the wait will not get inerrupted/restarted in an endless loop. Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
2020-05-12i915/gem_exec_(fence|schedule): Use WC mmapsChris Wilson
Since we are hiding our write hazards, gem_read() may not know if it needs to flush the CPU caches prior to reading back. As we lie to the kernel, use an explicit WC mmap for result readback. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1875 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-12tests/kms_chamelium Fix DP FSM in dp-mode-timingsKunal Joshi
Receiver reset is always required after we set a new mode, so let's disable the mode (reset_state() does that) before we switch to a new mode. With this we will get the HPD pulses reliably for each iteration over all the supoprted modes. For more details Refer c8dc1fd926a5 ("tests/kms_chamelium: Capture on type-c") Cc: Hiler Arkadiusz <arkadiusz.hiler@intel.com> Cc: Imre Deak <imre.deak@intel.com> Issue: https://gitlab.freedesktop.org/drm/intel/issues/262 Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-05-11i915/gem_exec_params: Don't skip for invalid-bsd-ringChris Wilson
In the CI shards, we have a mixture of icl, some with vcs2, some without. Any test that requires vcs2 will flip-flop between skips, so avoid such requires where possible. Here, we know what the outcome should be if we have vcs2 and if we do not, so assert we get the correct outcome. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-11dumb_buffer: Restrict maximum target allocationChris Wilson
If a pagefault handler fails with ENOMEM (VM_FAULT_OOM), it calls the oomkiller without warning. On smaller machines we are trying to utilize a dumb buffer as larger as memory, expectedly failing, but unexpectedly being killed before we perform the tests. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1182 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-11i915/gem_ctx_persistence: Add a small delayed for RCU'ed fdChris Wilson
Add a small delay before we wait on the rcu barrier to allow slower machines to flush the process tables first. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1528 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-11Macros fixes: Removed unused & redundant macrosranjeet kumar
Local macros were declared in several files as a prelude to upstream implementations. Now that we ship include/drm-uapi, we can remove LOCAL as we upstream. Cc: Dixit, Ashutosh <ashutosh.dixit@intel.com> Cc: Tahvanainen Jari <jari.tahvanainen@intel.com> Signed-off-by: ranjeet kumar <ranjeet1.kumar@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-11i915/gem_ringfill: Adjusted test to utilize all available engines.sai gowtham
Replaced the legacy for_each_engine* defines with the ones implemented in the gem_engine_topology library. Cc: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: satyavat <satyavathi.k@intel.com> Signed-off-by: sai gowtham <sai.gowtham.ch@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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-09i915/gem_exec_nop: Remove submission batchingJanusz Krzysztofik
Execbuf requests are now submitted by subtests in batches of 1024 repetitions. That may be too many under some circumstances (e.g., intensive logging output) and subtests may take far more time than expected. The reason standing behind that batching was unacceptable microsecond imprecision of gettime when gem_exec_nop was a benchmark rather than a test and time measurement was looking for a precision of ~100 ns. Since that measurement is now mostly informative and not a pass/fail metric, we can be more tolerant and accept overhead of gettime after each submission. Remove the batching from the body of subtests which don't require submicrosecond precision and measure time after each execbuf request submission (or a group of one submission per engine). Since there is one subtest - "headless" - which still requires more precise time measurement, don't remove the batching from nop_on_ring() helper but let its users request non-batched submission mode instead. To make this even more flexible, change semantics of the helper argument used so far for returning the count of submissions completed within the requested time frame and use it also for passing desired batch size (number of iterations), then update its users to initialize that argument according to their individual requirements. Note that this will impact slow hpet, such as Pineview, most. But equally the platform themselves is slow enough that a multi-millisecond clock granularity is still a minor irritation. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-09i915/gem_exec_nop: Kill obsolete pass/fail metricJanusz Krzysztofik
Commit 870c774b866c ("igt/gem_exec_nop: Add expectancy of independent execution between engines") extended a "basic" subtest (now "basic-series") with a pass/fail metric based on comparison of parallel execution time to be less than an average * 2. Since then, that limit has been raised quite a few times: - by commit 41a26b5152a5 ("igt/gem_exec_nop: Relax parallel assertion for short rings") to maximum + minimum, - by commit 7bd4f918c461 ("igt/gem_exec_nop: Explain the parallel execution assertion") to maximum + minimum * 10/9, - by commit a0eebbddecaa ("igt/gem_exec_nop: Relax assertion for parallel execution") to sum * 2. With the criteria relaxed up to that extent, the purpose of that check has been limited to a showcase for an old GuC failure. Since that is now obsolete, kill that assert. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-09igt/gem_shrink: touch each page in pwrite_/pread_Ashutosh Dixit
pwrite_() and pread_() purport to read each page but weren't. v2: Keep subpage iteration (Chris) Reported-by: CQ Tang <cq.tang@intel.com> Fixes: 88bfe6ac41 ("igt/gem_shrink: Add pread/pwrite stress) Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-08tests/gem_eio: switch to using igt_params_set()Juha-Pekka Heikkila
Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-08lib/params: start renaming functions igt_params_*Juha-Pekka Heikkila
Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-08lib/params: add igt_params.c for module parameter accessJani Nikula
We have generic helpers for sysfs access in igt_sysfs.c, but we also have a number of module parameter access specific helpers scattered here and there. Start gathering the latter into a file of its own. For i915, the long-term goal is to migrate from module parameters to device specific debugfs parameters. With all igt module param access centralized in one place, we can make the transition much easier. Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-08i915/gem_ctx_persistence: Fix ring, don't blockChris Wilson
Beware of using gem_ring_measure_inflight() as it takes a ring identifier and not the engine, should you overwrite the defaults. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1848 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-07i915/gem_exec_fence: Exercise blocking bonded fences on one engineChris Wilson
Like the parallel, but restricted to a single engine -- assumes we have timeslicing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2020-05-07i915/gem_exec_schedule: Test timeslicing for a latecomerChris Wilson
Check that if the HW submission queue is full of ordered requests, we can still timeslice into the next submission. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-07lib/i915: Split igt_require_gem() into i915/Chris Wilson
igt_require_gem() is a pecularity of i915/, move it out of the core. Similar opportunistic move of gem_reopen_driver() and gem_quiescent_gpu(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-07i915/gem_exec_fence: Verify timeslicing into the queueChris Wilson
Submit more coupled batches than can possibly fit into the ELSP and verify that we can slice between them all, while fulfilling the submit-fence. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-07i915/gem_exec_schedule: Verify timeslicing into the queueChris Wilson
Submit more coupled batches than can possibly fit into the ELSP and verify that we can slice between them all. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-07perf_pmu: Fix typo for ignoring unknown eventsChris Wilson
In module_unload() we try and install all events, including events that are not defined for this device. These we are trying to check for failure and ignore in our read, but typo. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2020-05-06i915/gem_exec_schedule: Exercise timeslicing along an engineChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-06i915/gem_exec_fence: Exercise timeslicing on submit-fenceChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-06i915/gem_exec_fence: Avoid mutable submission in 'parallel'Chris Wilson
Replace the open-coded spinner with igt_spin_t so that it is cmdparser friendly. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-06tests/kms_multipipe_modeset: Add test to validate max pipe configurationKarthik B S
Added test to validate max pipe configuration for a platform. In the test, the reference CRC is collected first by doing modeset on all the outputs individually.Then a simultaneous modeset is done on all the outputs and the CRC is collected. This is compared with the reference CRC. If the number of outputs connected is less than the number of pipes supported by the platform, then the test skips. This test is added to verify if the max pipe configuration for a given platform is working fine. Even though there are other tests which test multipipe configuration, they test some other functionalities as well together with multipipe. This is a stand alone test that intends to only verify simultaneous modeset at the max pipe configuration. v2: -Fix Typo in comment (Petri) -Use igt_require_pipe_crc() to prevent crash in non i915 case (Petri) -Print the number of outputs and pipes in igt_require() for debugging aid (Petri) v3: -Change the subtest name (Petri) -Avoid multiple loops and remove the output_to_pipe variable, by making the output to pipe mapping fixed (Ankit) Signed-off-by: Karthik B S <karthik.b.s@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
2020-05-05i915/gem_exec_fence: Remove incomplete fence-flip testChris Wilson
I never finished writing this test. Its goal was to try and verify that a flip cannot happen before a fence is signaled; currently that is done by kms_busy. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-05i915/gem_busy: Replace open-coded spinnerChris Wilson
Replace the open-coded spinner wit igt_spin. This allows us to run the test even with the cmdparser in play, but at the cost of removing the relocation result testing. Since the test focus is on validating the gem_busy api, that loss is not a great concern. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.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-05-05test/kms_prime: Use drm_open_driver_anotherArkadiusz Hiler
The test now uses dumb buffers explicitly instead of the vgem helpers. By default the first two devices that are matching provided chipset requirements are used (ANY + VGEM). This is sensitive to enumeration order, but as long as there are only two devices it's fine - PRIME will get tested both directions. IGT-Version: 1.25-g0b58fd8c (x86_64) (Linux: 5.7.0-rc2-CI-CI_DRM_8370+ x86_64) Starting subtest: basic-crc Starting dynamic subtest: first-to-second Test requirement not met in function igt_require_pipe_crc, file ../lib/igt_debugfs.c:522: Test requirement: fstatat(dir, "crtc-0/crc/control", &stat, 0) == 0 CRCs not supported on this platform Last errno: 2, No such file or directory Dynamic subtest first-to-second: SKIP (0,000s) Starting dynamic subtest: second-to-first Dynamic subtest second-to-first: SUCCESS (1,779s) Subtest basic-crc: SUCCESS (2,024s) In case there are more than two devices you can specify which ones should be used or force ordering, e.g.: sys:/sys/devices/pci0000:00/0000:00:02.0 subsystem : pci drm card : /dev/dri/card0 drm render : /dev/dri/renderD128 vendor : 8086 device : 9A49 sys:/sys/devices/platform/vgem subsystem : platform drm card : /dev/dri/card1 drm render : /dev/dri/renderD129 IGT-Version: 1.25-g0b58fd8c (x86_64) (Linux: 5.7.0-rc2-CI-CI_DRM_8370+ x86_64) Starting subtest: basic-crc Looking for devices to open using filter 0: sys:/sys/devices/platform/vgem Filter matched /dev/dri/card1 | /dev/dri/renderD129 Looking for devices to open using filter 1: pci:vendor=Intel Filter matched /dev/dri/card0 | /dev/dri/renderD128 Starting dynamic subtest: first-to-second Dynamic subtest first-to-second: SUCCESS (1,978s) Starting dynamic subtest: second-to-first Test requirement not met in function igt_require_pipe_crc, file ../lib/igt_debugfs.c:522: Test requirement: fstatat(dir, "crtc-0/crc/control", &stat, 0) == 0 CRCs not supported on this platform Last errno: 2, No such file or directory Dynamic subtest second-to-first: SKIP (0,000s) Subtest basic-crc: SUCCESS (2,944s) Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-05lib: Support multiple filtersArkadiusz Hiler
This patch brings back support for multiple filters that was in the original series by Zbyszek. We can now take multiple, semicolon separated filters. Right now the tests are using only the first filter. v2: drop unnecessary check before for-loop (Petri) Cc: Petri Latvala <petri.latvala@intel.com> Cc: Zbigniew KempczyƄski <zbigniew.kempczynski@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-05i915/perf_pmu: Avoid skips inside forked childrenChris Wilson
For the unload test, we are trying to open as many pmu as possible, but don't require more than the first. Avoid the extra requires as some of the events will not be supported on all platforms. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2020-05-04i915/gem_exec_fence: Drop obsolete mutable requirementChris Wilson
The basic-await has been converted to use an igt_spin_t and so does not need the mutable check anymore. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-03i915/perf_pmu: Move first trial unload to parentChris Wilson
We are not allowed to call igt_skip from the child, so more the first trial module unload into the parent. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>