- Feb 19, 2019
-
-
Simona Vetter authored
Found a few things in the kernel that looks suspicious, separate patches on their way. I also reviewed coverage for list-lesses and get-lease, and coverage seems complete for these. Cc: Keith Packard <keithp@keithp.com> Signed-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch>
-
Simona Vetter authored
It's all kernel code that's being tested here, no reason not to run in simulated environments ... Cc: Keith Packard <keithp@keithp.com> Signed-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch>
-
Simona Vetter authored
Test gap because we're using universal planes by default. Fix that. Cc: Keith Packard <keithp@keithp.com> Signed-off-by:
Daniel Vetter <daniel.vetter@ffwll.ch>
-
Petri Latvala authored
That leaves exitcode 1 for aborts and initialization failures. Should maybe differentiate those as well. Not to mention document the exit codes. Also fix igt_resume to follow suit to igt_runner: Generate results.json even when aborting or exceeding overall-timeout. Signed-off-by:
Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
- Feb 18, 2019
-
-
Chris Wilson authored
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>
-
Chris Wilson authored
Copying i915_drm.h from commit ba4fda620a5f7db521aa9e0262cf49854c1b1d9c (HEAD -> drm-intel-next-queued, drm-intel/drm-intel-next-queued) Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Feb 18 10:58:21 2019 +0000 drm/i915: Optionally disable automatic recovery after a GPU reset in order to expose the I915_CONTEXT_PARAM_RECOVERABLE for testing. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Mika Kuoppala <mika.kuoppala@linux.intel.com>
-
Arkadiusz Hiler authored
We only use meson there. Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by:
Daniel Vetter <daniel.vetter@ffwll.ch>
-
Arkadiusz Hiler authored
... for completeness. Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by:
Daniel Vetter <daniel.vetter@ffwll.ch>
-
- Feb 17, 2019
-
-
Chris Wilson authored
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>
-
- Feb 15, 2019
-
-
Antonio Argenziano authored
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>
-
Chris Wilson authored
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>
-
Chris Wilson authored
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>
-
Chris Wilson authored
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>
-
Chris Wilson authored
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>
-
Simona Vetter authored
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>
-
Simona Vetter authored
We use the timeout status for when the runner had to kill a testcase, which indicates a more sever issue than an operation failing that we expected to complete within seconds. Since it's unused, drop it. Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
Added in commit 054eb1ab Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Date: Thu Mar 30 14:32:29 2017 +0100 benchmarks/gem_wsim: Command submission workload simulator but since then the only user was lost. Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
There's a lot more ways to leak children than igt_fork, some even handrolled. So check for that. Also have a nice littel testcase for that too. v2: Don't hang if there's a leaked child process (Chris). Has the added benefit that my library unit test also gets faster! v3: Rebase. Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
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>
-
Simona Vetter authored
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>
-
Simona Vetter authored
Instead of cleaning up the mess in igt_exit make sure we don't even let it out of the container. See also commit 75487637 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Feb 26 22:11:10 2016 +0000 igt/gem_sync: Enforce a timeout of 20s which added this helper. To make sure that everyone follows the rules, add an assert. We're keeping the cleanup code as a failsafe, and because it speeds up the testcase I'm following up with. v2: Chris pointed out that my original patch did nothing. Which I didn't catch because my testcase was also broken. Unfortunately this means we need to open code part of the waiting. v3: The 2nd __igt_waitchildren() isn't necessary, __igt_waitchildren recovers from EINTR already and keeps waiting (Chris Wilson). v4: Change the timeout signal vs waitchildren logic to be race-free (Chris). This changes the exit code for a timeout from IGT_EXIT_FAILURE to SIGKILL + 128. v5: Clarify the docs (Chris). Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
Another corner case to check. v2: Rebase. Note that we still have the SIG + 128 exit code, that's how igt_waitchildren forwards child death to the parent's exit code. Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
Note that without the igt_waitchildren nothing at all gets forwarded, maybe we should check for left-behind children somewhere on subtest exit. v2: Drop NIH exit status handling (Chris). Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
Spotted by Chris. Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Daniel Vetter <daniel.vetter@intel.com>
-
- Feb 14, 2019
-
-
Ramalingam C authored
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>
-
Ramalingam C authored
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>
-
Ramalingam C authored
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>
-
Ramalingam C authored
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>
-
José Roberto de Souza authored
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>
-
- Feb 13, 2019
-
-
Easwar Hariharan authored
I spent quite some time trying to install all the dependencies to build igt in for my distribution. After installing the packages, I noticed that the Dockerfiles had the exact packages required for each distribution. Add a pointer to the Dockerfiles in the README to save folks time on setting up the environment required to build igt. CC: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by:
Easwar Hariharan <easwar.hariharan@intel.com> Reviewed-by:
Rodrigo Vivi <rodrigo.vivi@intel.com>
-
Tomi Valkeinen authored
Add CI for armhf environment. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by:
Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
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>
-
Arkadiusz Hiler authored
This reverts commit 845c9fb4. 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>
-
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)
-
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>
-
Maarten Lankhorst authored
The P01x formats are planar 16 bits per component, with the unused lower bits set to 0. This means they can all be converted the same way. Only the range is slightly different, and this is handled in the color_encoding implementation. This requires cairo 1.17.2 and pixman 0.36. This works but doesn't give extra precision. For more than 8 bits precision a few more patches are required to pixman, pending review: https://lists.freedesktop.org/archives/pixman/2019-January/004815.html https://lists.freedesktop.org/archives/pixman/2019-January/004809.html Once those are merged, we will require the next pixman release for better precision. Changes since v1: - Add fallback color definitions when compiling on cairo version < 1.17.2. - Skip when FB creation fails on HDR formats, instead of failing. Changes since v2: - Complain slightly harder when pixman/cairo are out of date. - Create a fb with alpha when converting to pixman formats with alpha. - Oops, s/pixman_format_code_t/cairo_format_t/ Changes since v3: - Rebase on top of upstream YUV changes. Changes since v4: - Rebase again. - Use drm_fourcc.h from drm-misc-next. Signed-off-by:
Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> #v4
-
Maarten Lankhorst authored
We're starting to add support for 10, 12 and 16-bits formats that all have different values for the Y offset and range. Some 10 bits formats go from [0...1023], others go to [0...1023] shifted left by 6. To accomodate all formats add a struct definition for all various formats, this can be extended further when we add new formats. Changes since v1: - Rebase on top of added yuv changes. - Add commit description (swatish) - Add missing newline. (swatish) Signed-off-by:
Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> #v1
-
- Feb 12, 2019
-
-
Chris Wilson authored
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>
-
Chris Wilson authored
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>
-
Arkadiusz Hiler authored
`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>
-