- Nov 26, 2019
-
-
Arkadiusz Hiler authored
Debian Busters is the new stable so let's upgrade. v2: stay on stretch for MIPS Cc: Guillaume Tucker <guillaume.tucker@collabora.com> Cc: Petri Latvala <petri.latvala@intel.com> Issue: https://bugs.debian.org/932725 Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Simon Ser authored
Prior to this commit, audio tests play sound on all HDMI/DisplayPort PCM devices (by filtering devices with the "HDMI" prefix). This had several issues. First, the PCM device → connector mapping via the ELD wasn't checked. Second, it makes debugging more complicated: if ALSA doesn't detect the screen, we just get a Chamelium failure (because it doesn't receive any audio stream). Third, it would play sounds on real screens too (not only Chamelium) and this could theorically damage bad hardware (though this is just speculation). To mitigate this issue, check the monitor name of PCM devices we open and only keep them if it's an IGT EDID (ie. connected to the Chamelium board). Note that while this is a good improvement, it isn't a complete fix: the ELD is only exposed by the HDA Intel driver. This means non-IGT PCM devices won't be filtered out on non-Intel hardware. There is no driver-agnostic way to get the screen name, I'm afraid. Cc: Martin Peres <martin.peres@linux.intel.com> Signed-off-by:
Simon Ser <simon.ser@intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Martin Peres <martin.peres@linux.intel.com>
-
Simon Ser authored
This function parses the monitor name from an ELD blob and checks whether it comes from an IGT EDID. v2: replace a bunch of random numbers with constants (Chris, Andi) v3: rabase and fix subject (Arek) Signed-off-by:
Simon Ser <simon.ser@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Andi Shyti <andi.shyti@intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Martin Peres <martin.peres@linux.intel.com>
-
Arkadiusz Hiler authored
We test so many audio configurations that igt_debug's ring buffer gets overflown which often puts the actual failure out of our reach. Let's promote failure-indicating messages to critical log level, so we see which exact configuration has borked. Cc: Martin Peres <martin.peres@linux.intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111696 Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Martin Peres <martin.peres@linux.intel.com>
-
Chris Wilson authored
Once the fence is retired, we discard its references to the context state, including its timeline name. So the timeline query is only accurate before being signaled, so keep the fence alive until after the query. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
Chris Wilson authored
This igt relies on using privileged batches to read and modify protected registers. This is no longer supported and so the test is entirely defunct, and for as much as we can has been subsumed into a kernel selftest. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
- Nov 24, 2019
-
-
Chris Wilson authored
The implicit soft-pinning we use to probe the vm layout using execbuf, depends on the batch remaining active (not retired) between execbufs. Naturally, if the background retire worker runs the batch is retired and the implicit soft-pinning is free to use a fresh address. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
- Nov 23, 2019
-
-
Reference: https://bugs.freedesktop.org/show_bug.cgi?id=112126 The issue we hit is the GPU keeps very high load after running the subtest min-max-config-loaded. Some background of the issue: Currently the rps is not fully enabled yet on TGL, and running the subtest min-max-config-loaded will hit below assertion: == (i915_pm_rps:1261) CRITICAL: Test assertion failure function loaded_check, file ../tests/i915/i915_pm_rps.c:505: (i915_pm_rps:1261) CRITICAL: Failed assertion: freqs[MAX] <= freqs[CUR] (i915_pm_rps:1261) CRITICAL: Last errno: 2, No such file or directory == with igt stress test, we find the GT keeps busy after running this subtest, it is due to the igt_spin_end() is not called randomly. The root cause analysis is: When the main process i915_pm_rps for running the subtest min-max-config-loaded hits the assertion, the main process will try to send signal SIGTERM to the child process loader_helper which is created by main process for starting GT load, then the main process itself will exit. The SIGTERM handler for loader_helper is the default one, which will cause the loader_helper exits directly. That is unsafe, we always expect the igt_spin_end() is called before loader_helper process exits, which is used to stop the load of GT. Furthermore, in normal scenario, before main process exits, it will send SIGUSR1 to child process for stopping GT loading in safe way. So here we install the proper handler for signal SIGTERM in the similar way. Without this patch, the GT may keep busy after running this subtest. Enabling rps should be tracked on the other side. V3: As suggested by Chris, s/SIGUSR1/SIGTERM, since both signals take the same function. Signed-off-by:
Chuansheng Liu <chuansheng.liu@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
v2: Fix mistake in syncobj_busy() (Lionel) Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Drop local defines etc.. Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
We have copies of the DRM uAPI headers in the repo, so drop the local declaration of syncobj defines/types. v2: s/drmIoctl/igt_ioctl/ (Chris) Clear errno after report it through return value (Chris) Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Chris Wilson authored
Fixes: 3fa72891 ("i915/gem_ctx_persistence: Double the fput hammer!") Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
Check that the engine query is not polluting the buffer past the size it indicated it would write. Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
- Nov 22, 2019
-
-
If we accidentally modify the mmap_gtt ioctl struct sizes in our headers, we might end up feeding garbage into the ioctl and start validating that as our flags for the upcoming mmap_offset ioctl. This ensures header changes don't mess up with our existing mmap_gtt ioctl. Signed-off-by:
Abdiel Janulgue <abdiel.janulgue@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Chris Wilson authored
Deferred rcu work is tricky to pin down and encourage to run, so try again... Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=112277 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
Make invalid context subtest independent of engines, as the intent of the subtest is to verify if using an invalid context returns an error. Cc: Andi Shyti <andi.shyti@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by:
Venkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Mika Kahola authored
GEN12 CCS render compression support is missing from the test. This causes a SKIP when executing a subtest 'getfb-reject-ccs'. For TGL the main surface is 4x4 tiles aligned. Therefore, the pitch for 32bpp is 4*4*32 bytes and the height is 4 rows aligned. The CCS surface is 64 bytes, which corresponds to 4 tiles on the main surface. The height of the CCS surface is aligned by 4 rows. v2: Fix incorrect size and updates on comments (Imre) Signed-off-by:
Mika Kahola <mika.kahola@intel.com> Reviewed-by:
Imre Deak <imre.deak@intel.com>
-
- Nov 20, 2019
-
-
Ramalingam C authored
On TGL till B0 stepping FF_MODE2(0x6604) register is not readable. But we need to program this register for Wa_1604555607 for better performance. Hence to skip the verification attempt on this register through read, we are marking this register as write only. As of now I have marked this register as write only for gen12, we can narrow it down to TGL <= B0, if we can retrieve the stepping of the platform at IGT. v2: comma is added [Chris] Signed-off-by:
Ramalingam C <ramalingam.c@intel.com> cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Acked-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
Arkadiusz Hiler authored
Debian has two Dockerfiles associated - minimal and regular one that bases on the minimal one. Let's mention them by name and add a comment providing some context to the split so it's easier to figure out what to install on a new system. Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Venkata Sandeep Dhanalakota authored
Since engines are now looked up based on context engine map, context should be setup with engines before using in execbuf. Fixes: a9998c23 igt("gem_exec_parallel: use the gem_engine_topology") Cc: Andi Shyti <andi.shyti@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by:
Venkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com> Reviewed-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-
Arkadiusz Hiler authored
* chamelium was renamed to kms_chamelium and is now part of the KMS Tests section * GVT tests were removed. v2: don't remove the API docs (Petri) Fixes: 8809638e ("tests: Rename chamelium to kms_chamelium.") Fixes: 8781fd89 ("igt: Remove gvt_basic") Reported-by:
Petri Latvala <petri.latvala@intel.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Arkadiusz Hiler authored
Not used since 8781fd89 ("igt: Remove gvt_basic"). Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
- Nov 19, 2019
-
-
Petri Latvala authored
The final naming for the magic block identifiers is: igt_subtest_with_dynamic("do-stuff-on-things") { for_each_thing(x) { igt_dynamic_f("%s", x->name) { do_stuff(x); } } } Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Acked-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Arkadiusz Hiler authored
Turns out that `readlink()` does not NULL-terminate the string and since it resides on the stack we may end up with some junk: `/proc/self/exe point to /opt/igt/libexec/igt-gpu-tools/tools_test7<CD>\t<8A>^?` That in turn confuses `dirname()` and we end up doing `chdir("/")`, which explain the sporadic failures of this test where it was not able to locate the tools. Let's zero out the variable first and allow `readlink()` to write at most `sizeof()-1` bytes to it, so it is always properly terminated. Cc: Petri Latvala <petri.latvala@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Issue: #12 Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk>
-
- Nov 18, 2019
-
-
José Roberto de Souza authored
i915_pm_dc have implemented a function to check if PSR2 is enabled, that may be util to future tests so move it to PSR lib. Cc: Jeevan B <jeevan.b@intel.com> Cc: Anshuman Gupta <anshuman.gupta@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Signed-off-by:
José Roberto de Souza <jose.souza@intel.com>
-
José Roberto de Souza authored
has_runtime_pm was not used outside of igt_fixture also no need to print this info, if not supported IGT skip log will contain the line that was not meet. Cc: Jeevan B <jeevan.b@intel.com> Cc: Anshuman Gupta <anshuman.gupta@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Signed-off-by:
José Roberto de Souza <jose.souza@intel.com>
-
José Roberto de Souza authored
Also moving the sink check to igt_fixture as it do not change overtime. Cc: Jeevan B <jeevan.b@intel.com> Cc: Anshuman Gupta <anshuman.gupta@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Signed-off-by:
José Roberto de Souza <jose.souza@intel.com>
-
José Roberto de Souza authored
Writing 0xf to i915_edp_psr_debug is expected to have -EINVAL returned in newer kernels but this error actually comes from errno not from the return of write()(check writeN()), so unseting the expected errno so this do not cause tests to skips. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=112257 Cc: Jeevan B <jeevan.b@intel.com> Cc: Anshuman Gupta <anshuman.gupta@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Signed-off-by:
José Roberto de Souza <jose.souza@intel.com>
-
Chris Wilson authored
They have lived past their usefulness as now we frequently lose vital debug information because we are spamming unrelated GEM traces. We can add the spam directly to GEM_BUG_ON(), and enable it ourselves if we truly need the trace-on-oops. 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> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Acked-by:
Petri Latvala <petri.latvala@intel.com>
-
Add GEN12 CCS format modifiers for render compression. Render compression is not supported for 90/270 rotation. v2: Added new subtests for each format modifier. v3: Add IGT description for each subtest (GitLab) v4: Fix errorneous subtest execution and listing v5: Fix AUX surface units for GEN12 (Imre) Bspec: 49252 Signed-off-by:
Mika Kahola <mika.kahola@intel.com> [Keep existing subtest names.] Reviewed-by:
Imre Deak <imre.deak@intel.com> Signed-off-by:
Imre Deak <imre.deak@intel.com>
-
Update tile sizes for GEN12 CCS. BSpec: 47709 v2: Realign main and aux surfaces (Imre) Signed-off-by:
Mika Kahola <mika.kahola@intel.com> Reviewed-by:
Imre Deak <imre.deak@intel.com> Signed-off-by:
Imre Deak <imre.deak@intel.com>
-
Gen-12 has a new compression format for render compression. For this, a new modifier is needed to indicate that. Signed-off-by:
Mika Kahola <mika.kahola@intel.com> Reviewed-by:
Radhakrishna Sripada <radhakrishna.sripada@intel.com> Signed-off-by:
Imre Deak <imre.deak@intel.com>
-
- Nov 16, 2019
-
-
Chris Wilson authored
Our worst case is blocking on a infinite batch, as the hangcheck allows it to remain in place indefinitely. This is too slow for CI as it only fails via a lengthy timeout. However, for our purposes a fail due to hangcheck is an equally good indicator of the bug, so use a hostile spinner to provoke hangcheck. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@intel.com>
-
Chris Wilson authored
Since the buffer is always valid up to the next page, we can just round up to the oword boundary. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Mika Kuoppala <mika.kuoppala@intel.com>
-
- Nov 15, 2019
-
-
Chris Wilson authored
Although a virtual engine itself has no hang detection; that is on the underlying physical engines, it does provide a unique means for clients to try and break the system. Try and break it before they do. 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>
-
Petri Latvala authored
Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Petri Latvala authored
If binary 'bin' has a subtest 'sub', which has dynamic subtests 'foo' and 'bar', results.json will now have "subtests" by the names igt@bin@sub@foo and igt@bin@sub@bar, with data as expected of normal subtests. Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Petri Latvala authored
v2: Also test that calling igt_describe in a dynamic context asserts Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Petri Latvala authored
Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Petri Latvala authored
Dynamic subsubtests, or subtests of subtests, are individual pieces of tests that are not statically available all the time. A good example of a need for a dynamic subsubtest is i915 engine listing: A normal subtest for each engine class ("bsd"), and a dynamic subsubtest for each instance ("bsd0", "bsd2", etc). Or a normal subtest for an operation with a dynamic subsubtest for every engine there is. Another example is dynamic subsubtests for pipes: Instead of using foreach_pipe_static, make one subtest and use foreach_pipe with dynamic subsubtests for each pipe. v2: Rebase and adapt to igt_describe changes v3: Rename to igt_subtest_with_dynamic_subsubtests & igt_dynamic_subsubtest, better docs, make igt_describe fail loudly if it's used in an impossible context. v4: Mention dynamic blocks in the warning for longjmp in core docs. Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-