- Apr 16, 2019
-
-
Lyude Paul authored
To make sure that no one ever uses assert() in the wrong places again, let's build with -Db_ndebug=true so that assert() gets compiled out. Signed-off-by: Lyude Paul <lyude@redhat.com>
-
Lyude Paul authored
Latest stable release of Fedora
-
Lyude Paul authored
In the process of trying to get an up to date version of igt packaged for Fedora I discovered that if igt was built with -Db_ndebug=true, a significant portion of the test infrastructure unit tests would start failing: 1/265 lib: igt_assert OK 0.11 s 2/265 lib: igt_can_fail OK 0.08 s 3/265 lib: igt_can_fail_simple OK 0.08 s 4/265 lib: igt_exit_handler OK 0.05 s 5/265 lib: igt_fork FAIL 0.05 s (killed by signal 9 SIGKILL) 6/265 lib: igt_fork_helper OK 0.42 s 7/265 lib: igt_hdmi_inject OK 0.05 s 8/265 lib: igt_list_only OK 0.01 s 9/265 lib: igt_invalid_subtest_name OK 0.05 s 10/265 lib: igt_no_exit OK 0.04 s 11/265 lib: igt_segfault OK 0.38 s 12/265 lib: igt_simulation OK 0.02 s 13/265 lib: igt_stats OK 0.04 s 14/265 lib: igt_subtest_group OK 0.03 s 15/265 lib: igt_no_subtest SKIP 0.02 s 16/265 lib: igt_simple_test_subtests UNEXPECTEDPASS 0.02 s 17/265 lib: igt_timeout EXPECTEDFAIL 1.02 s Which appeared to stem from the fact that -Db_ndebug=true would strip assert() calls. While on a first glance of lib/tests/igt_tests_common.h one would assume that the only user of assert() was the test infrastructure unit tests themselves, it turns out we've actually been using this in multiple spots that seem to expect an unconditional runtime check. So in order to fix this, we introduce igt_internal_assert(). The purpose of this function is to provide simple runtime error-checking for conditions that warrant abort()ing IGT under any circumstances, and to provide a internal_assert() replacement for our test infrastructure tests to use. Then, remove all of the assert() usages in lib/tests/* along with any of the assert() calls in lib/igt_core.c that affect test behavior. Signed-off-by: Lyude Paul <lyude@redhat.com>
-
Lyude Paul authored
glibc 2.30+ will actually include a definition for gettid() that makes it so that users don't have to manually define a wrapper for it themselves with syscall(). We don't currently check for this, and as a result will end up redefining gettid() on the latest versions of glibc, causing the build to fail: FAILED: lib/76b5a35@@igt-igt_kmod_c@sta/igt_kmod.c.o In file included from /usr/include/unistd.h:1170, from ../../mnt/vol/lib/igt_core.h:43, from ../../mnt/vol/lib/igt_kmod.c:28: /usr/include/bits/unistd_ext.h:34:28: error: macro "gettid" passed 1 arguments, but takes just 0 34 | extern __pid_t gettid (void) __THROW; | ^ In file included from ../../mnt/vol/lib/igt_kmod.c:27: ../../mnt/vol/lib/igt_aux.h:40: note: macro "gettid" defined here 40 | #define gettid() syscall(__NR_gettid) | [36/771] Compiling C object 'lib/76b5a35@@igt-igt_kms_c@sta/igt_kms.c.o'. ninja: build stopped: subcommand failed. So, fix this by by adding some meson checks to define HAVE_GETTID whenever the host defines its own gettid(), and avoid redefining gettid() when HAVE_GETTID is defined. This fixes build intel-gpu-tools for me on Fedora Rawhide Signed-off-by: Lyude Paul <lyude@redhat.com>
-
Lyude Paul authored
Since meson 0.50.0, unit tests which return the GNU standard return code 99 will fail, regardless of whether or not should_fail:true is passed to test(). Unfortunately, igt_alarm_handler() exits the application with return code 99. However, since returning something other then 99 when a test times out would also be a bug we can't really change the return code igt_alarm_handler() returns. Instead, we can fix this by simply running tests which are expected to fail with return code 99 using a wrapper script that translates 99 to 1 and any other non-zero error code into 99. This essentially makes it so that abnormal test failures are considered normal, and vice versa. Signed-off-by: Lyude Paul <lyude@redhat.com>
-
Lyude Paul authored
dnf supports installing packages by their pkgconfig names using the pkgconfig() RPM macro. Since these more closely match the dependencies that meson uses and don't have a chance of changing in the future like Fedora package name do, let's use these with dnf instead.
-
- Apr 12, 2019
-
-
Petri Latvala authored
Tests that eat all of the RAM and then some to invoke the oom-killer deliberately sometimes cause extra casualties. Make sure the runner stays alive. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Michał Winiarski authored
The driver is supposed to update the size when it's trying to outsmart userspace. Let's test it. v2: Rework to use local ioctl wrapper (Chris) v3: s/16/15, move test a bit earlier (Chris) Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Janusz Krzysztofik <janusz.krzysztofik@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
- Apr 11, 2019
-
-
Chris Wilson authored
For fast-feedback, we need to sanitycheck that CRC reads work, otherwise the display validation tests are flawed. However, we don't need to extensively test each pipe as the HW is fundamentally the same. Instead, do the full suite of tests on one pipe, and just verify that the interface works for the other pipes. This should speed BAT up by reducing NUM_PIPES suspend and resume cycles to just 1. The shards should cover the extended test suite on all pipes for complete validation. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Martin Peres <martin.peres@free.fr> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Martin Peres <martin.peres@free.fr> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
-
Stanislav Lisovskiy authored
With some upcoming changes i915 might not allow all sprite planes enabled, depending on available bandwidth limitation. Thus the test need to decrement amount of planes and try again, instead of panicking. v2: Removed excessive nested conditions, making code a bit more readable(hopefully). v3: Stopped using global n_planes variable as it might cause resources being unreleased. Using now parms[i].mask as a way to determine if plane has to be included into commit. v4: Removed unneeded n_overlays initialization. v5: Randomize which of sprite planes to remove if hitting resource limits. v6: Replace igt_warn with igt_info, to make IGT tests happier. v7: Removed unneeded retry logic, made plane random removal simplier. Great thanks to Maarten Lankhorst for suggestions. v8: Fail if we have less than 3 planes v9: Remove unneeded diffs Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
-
Stanislav Lisovskiy authored
While fixing used amount of planes, discovered that if wm_setup_plane is called with specific parameter that gives parms[i].mask & mask == 0 for all used planes, then subsequent wait_transition fails in assertion on fd_completed. So added return value to wm_setup_plane, which would allow to determine, if we really need to wait for any transitions. v2: Fixed commit message, to properly describe a reasoning for wm_setup_plane changes. Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
-
Stanislav Lisovskiy authored
Using igt_plane_has_format_mod allows to save time not doing redundant retry, knowing if plane supports alpha beforehand. v2: Remove unneeded assertion also. Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
-
- Apr 10, 2019
-
-
Manasi Navare authored
This patch saves off the original value of force_dsc_en and restores it back after each test and in the igt exit handler so that it gets restored on any failure/assertion. Suggested-by: Imre Deak <imre.deak@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> Cc: Imre Deak <imre.deak@intel.com> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com>
-
Manasi Navare authored
DSC enable gets configured during compute_config and needs a full modeset to force DSC. Sometimes in between the tests, if the initial output is same as the mode being set for DSC then it will not do a full modeset. So we disable the output before forcing a mode with DSC enable. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110270 Fixes: db19bccc ("test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDP") Cc: Petri Latvala <petri.latvala@intel.com> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> Cc: Imre Deak <imre.deak@intel.com> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com>
-
Maarten Lankhorst authored
If we unexpectedly pass, we get a cryptic (kms_flip:935) CRITICAL: Test assertion failure function set_flag, file kms_flip.c:271: (kms_flip:935) CRITICAL: Failed assertion: !(*v & flag) (kms_flip:935) CRITICAL: Last errno: 25, Inappropriate ioctl for device Instead of a more descriptive assertion error, clear the request for event to fix this. This will change the error reported in bug #103257. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=103257 [mlankhorst: Replace igt_assert with igt_assert_eq based on ickle's suggestion] Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Maarten Lankhorst authored
We don't actually care about running this for 30 seconds, all we care is that we get a -EBUSY if a flip is already queued. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Maarten Lankhorst authored
Remove the -interruptible test, the test only tests that we get an -EBUSY after doing a pageflip. Doing this interruptibly adds the possibility the test will take too long from retrying. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Arkadiusz Hiler authored
Missing \n at the end of log message caused some hard to read logs. Cc: Martin Peres <martin.peres@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
-
Arkadiusz Hiler authored
Compilation support was dropped in January 2019, since then it's just a dead code in the repo and no one seems to be missing it. Anyway, it can always be reintroduced from the chasms of git history. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
-
Arkadiusz Hiler authored
There is no real need for testing on each output, as they do not affect CRC coming out from the pipe. Let's use first viable one. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
Arkadiusz Hiler authored
Since igt_assert family of functions logs last errno we get a lot of those: "Last errno: 25, Inappropriate ioctl for device" isatty() seems to be the biggest offender in that area, so this patch should limit amount of confusing messages significantly. Cc: Martin Peres <martin.peres@linux.intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
-
Due to Gamma/Degamma limitation wrt representation of intermediate values between 0 and 1.0 causing rounding issues and inaccuracies, applying linear gamma affects crc. This patch fixes the same by making ctm max test independent of gamma/degamma. v2: Disable degamma/gamma programming for ctm max test as it leads to crc mimsmatch. Limiting it to this test case alone as other tests need it to be enabled, hence not touching those scenarios. v3: Fixed a fumble with compilation. v4: Disabling degamma and gamma for ctm max tests, after the logic in kernel has been updated by Ville's series. v5: Disabled gamma/degamma for all ctm tests as suggested by Ville. v6: Restricting disabling of linear gamma luts for ctm max test. Updated the commit message and comment as suggested by Daniel. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108147 Signed-off-by: Uma Shankar <uma.shankar@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-
Lot of tests fail, when assertion checking how many vblanks should have passed during suspend/resume is compared to magic value 150. At the same time even for failed cases, sometimes it is clearly visible that there were no issue - simply suspend took longer on that machine. If suspend took around 10 s and we get roughly 60 vblanks per second the value then should be around 600 and not 150. This change removes 150 magic value and starts to use calculation of what it is expected to be instead of being hardcoded. v2: Add possible error delta interval, where expected vblanks must lie, i.e: [estimated_vblanks - err, estimated_vblanks + err] v3: Made an error range for estimated vblanks a bit less strict. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104894 Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
Nicholas Kazlauskas authored
The kmstest_dumb_create API isn't suitable for creating multi-planar buffers since it tries to calculate the size based on the first plane's pitch only. AMDGPU requires that the luma pitch be aligned to 256 for YUV buffers which results in crashes on kms_plane@pixel-format-pipe-*-planes tests when using kmstest_dumb_create since the buffer returned is smaller than needed (16384 size returned, 24576 size required). Create and map the buffer with the correct size by using the AMD helpers introduced by this patch: igt_amd_create_bo and igt_amd_mmap_bo. Cc: Harry Wentland <harry.wentland@amd.com> Cc: Leo Li <sunpeng.li@amd.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Leo Li <sunpeng.li@amd.com>
-
Mika Kahola authored
Let's add a check for supported pixel format. Otherwise, we fail the test, for example, with the following error message "[drm:intel_framebuffer_init [i915]] unsupported pixel format Y210 little-endian (0x30313259) / modifier 0x100000000000003" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110369 Signed-off-by: Mika Kahola <mika.kahola@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
- Apr 09, 2019
-
-
Chris Wilson authored
If we have two tasks running on xcs0 and xcs1 independently, but who queue subsequent work onto rcs, we may insert semaphores before the rcs work and pick unwisely which task to run first. To maximise throughput, we want to run on rcs whichever task is ready first. Conversely, if we pick wrongly that can be used to trigger a GPU hang with unaware userspace. 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>
-
Antonio Argenziano authored
The test uses the new library helper so it doesn't need any local helper. Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
-
Chris Wilson authored
Petri pointed out that the maximum allowed number of files per process is nr_open, not the system cap of file-max. Suggested-by: Petri Latvala <petri.latvala@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110351 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
-
- Apr 08, 2019
-
-
Mika Kahola authored
Let's check if 90/270 rotation is supported for the format that we are trying to test. Currently, if we try to test unsupported format the kernel complains with the following message. "[drm:skl_plane_check [i915]] Unsupported pixel format Y210 little-endian (0x30313259) for 90/270!" v2: Use igt_plane_has_format_mod() function to select formats that are capable of 90/270 rotation (Ville) Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Mika Kahola <mika.kahola@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
- Apr 05, 2019
-
-
Lucas De Marchi authored
I was looking into a failure in which I had libkmod: ERROR ../libkmod/libkmod-config.c:790 conf_files_list: opendir(/etc/modprobe.d): Too many open files libkmod: ERROR ../libkmod/libkmod-config.c:790 conf_files_list: opendir(/lib/modprobe.d): Too many open files (gem_exec_parallel:1315) igt_kmod-WARNING: Could not load i915 (gem_exec_parallel:1315) igt_kmod-WARNING: Could not load i915 I got curious because libkmod doesn't open more than one config file at a time. What's happening is that libkmod is not the culprit, it's just the one that failed because we open /dev/dri/card0 -ETOOMANYTIMES. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Lucas De Marchi authored
Share the implementation to tweak the maximum number of open files. The version in tests/i915/gem_exec_reuse.c was a little bit different, but I don't think it needs to be because it would still return a failure if any of the calls to setrlimit() fail. So I'm using the other one. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
With the new engine query method engines are reachable through an index and context they are combined with. The 'gem_has_ring()' becomes 'gem_context_has_engine()' that requires the index that the engine is mapped within the driver. The function has been moved from lib/ioctl_wappers to lib/i915/gem_context where it is more appropriate. The previous 'gem_has_ring()' function becomes a wrapper to the new 'gem_context_has_engine()'. Signed-off-by: Andi Shyti <andi.shyti@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-
__for_each_engine_class_instance(fd, e) doesn't need and doesn't use the fd argument. Remove it. Signed-off-by: Andi Shyti <andi.shyti@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-
Arkadiusz Hiler authored
First, we set errno to 0 before doing select() to avoid random pollution of the assert message with things like: "Last errno: 25, Inappropriate ioctl for device" Second, we log explicitly if we exceeded the timeout (ret == 0). Third, if we fail the select() we log that with some explanation. Cc: Petri Latvala <petri.latvala@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
-
- Apr 04, 2019
-
-
backlight fade with suspend test turns off dpms which turns off the edp backlight. Then it does a system suspend and resume. After resume, the edp backlight would still be off, but the test sets the brightness value and reads it back. Since the edp backlight is off, the brightness values written and read are different causing the test to fail. Do not turn off the DPMS before suspend so that after system resume, the edp backlight would be on and setting the brightness value would be successful. v2: Remove "DPMS off" before system suspend instead of adding "DPMS on" after system resume. Cc: Jyoti Yadav <jyoti.r.yadav@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Clinton Taylor <clinton.a.taylor@intel.com> Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=107820 Fixes: 37775224 ("Brightness test with DPMS and System suspend.") Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
-
Chris Wilson authored
We only need the warning once, not for the several thousand relocations we try. The current execbuf implementation will set all presumed_offset to -1 so this loop should quit on the first entry if we hit the pagefault, but for the sake of completeness check all. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110269 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-
Ville Syrjälä authored
Sprinkle some asserts into rendercopy to make sure we don't try to exceed the render engine surface size/stride limitations. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Chris Wilson authored
Not displaying the flip on the next vblank is bad, but not the end of the world -- so long as that is only a temporary glitch. Give the vblank a few more frames to complete, and warn instead of failing if it takes more than one vblank interval to flip. v2: Bump the warning to >1 missed flip, to spare us the noise. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-
Maarten Lankhorst authored
Just like we try to sanitize all properties in igt_plane_reset, we should do the same for pipe properties. Loading a wrong lut could affect passing and failing tests, so we need to be careful and set sane defaults for everything. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
-
- Apr 03, 2019
-
-
José Roberto de Souza authored
i915_ring_missed_irq was removed from debugfs in kernel patch 789659f4307a ("drm/i915: Drop fake breadcrumb irq") and it was the base of which i915_missed_irq was written, so removing this test for good. Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-