Age | Commit message (Collapse) | Author |
|
Rather than guestimating a workload that should take a certain amount of
time, use a sigitimer to terminate a batch (and so complete the wait)
after an exact amount of time. And in the process expand testing to
cover multiple rings and hangcheck.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
|
|
The test is producing a lot of CI noise.
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
|
|
Reported-by: https://jenkins.freedesktop.org/job/IGT-ARM/210/
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This is superseded by vgem_basic/unload
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Random drive-by I noticed while hacking on piglit.
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
No reason why 'intel_reg dump' can't declare success after a succesful
dumping. Spotted after fixing tools_test to use the right tool :)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
intel_reg_read and intel_reg_dumper are no more. Switch over to intel_reg.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Source drm_lib.sh instead of drm_getopt.sh so that we get the
"executing", and "exiting" breadcrumbs in dmesg.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Leave the normal "executing" and "exiting" breadcrumbs into dmesg when
running the test.
v2: s/$1/$@/ (Jani)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
debugfs_wedged and drm_lib.sh are already using bashism so switch over
to using #!/bin/bash instead of #!/bin/sh.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
See tests/intel-ci/README for rationale and explanation.
v2: Use the current BAT set for fast-feedback.testlist first
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
It's more readable like this, and with the ifs it was a completely
separate test anyway.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
If we want to advance the seqno, we need to coordinate with all possible
users. The kernel doesn't want to do that for a lowlevel debug feature,
so it's up to userspace not to shoot itself in the foot.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
make_busy() already existed!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This is a test for the issue exposed by 97888, we perform a busy
bo update followed by a cursor update.
The page flip and cursor update should complete without hanging,
and the new fb should not be flipped yet as a result of the cursor
update.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This reverts commit e4a1727efa617e32428c7e7c59abbb08cc97e16f.
This hack should no longer be needed with the previous commit applied.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
We still allow duplicates at this point, but when commit is called only
one output per display is allowed.
This fixes tests like kms_psr_sink_crc, which expect a valid pipe.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Since vgem doesn't have any callbacks from shmemfs to its, we don't need
to keep the module around to service a pagefault when only using the
shmemfs facilities. Adjust the test to try to unload and check the mmap
for access.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Suggested-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Add myself, remove Daniel by request.
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@intel.com>
|
|
Only try removing intel_ips if it's actually loaded, and let the errors
through to the logs if removal fails.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
|
Only try removing snd_hda_intel if it's actually loaded, and let the
errors through to the logs if removal fails. This is a clue if i915
removal fails later.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
|
Add a helper for checking whether a module is reloaded, using
lsmod. Also make the grep stricter than before.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
|
Now will even more evilness.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
igt_subtest_group { /* to the request */ }
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97934
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We found a bug where a dmabuf did not keep the module alive (and so when
i915 tried to use it later, it exploded).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
In the middle of a line of double calculations is (int * int) and a
potential overflow.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The drop_caches sysctl has a max value of 4, so writing 7 to it just
fails. Avoid the earlier two-writes problem by opening the fd twice.
v2: Don't lseek(), open() twice. (Chris)
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
|
|
Just a silly benchmark to stress prime_fd_to_handle and
prime_handle_to_fd.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Allowing modeset may prevent the test case from failing in case the atomic
check phase finds the userspace doesn't allow modeset for the commit and
returns -EINVAL. A real case is to run the test case on imx-drm which
requires a full modeset when we change an active plane's configuration,
e.g., pixel format and stride.
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Marius Vlad <marius.c.vlad@intel.com>
Cc: Micah Fedke <micah.fedke@collabora.com>
Cc: Daniel Stone <daniels@collabora.com>
Signed-off-by: Liu Ying <gnuiyl@gmail.com>
|
|
This patch exposes atomic commit flags to crtc_commit_atomic()
so that users of the macro may control the flags.
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Marius Vlad <marius.c.vlad@intel.com>
Cc: Micah Fedke <micah.fedke@collabora.com>
Cc: Daniel Stone <daniels@collabora.com>
Signed-off-by: Liu Ying <gnuiyl@gmail.com>
|
|
Decode the PSR block (9) from VBT. Looks like the same block ID may have
been used for something else in the past, so a version check is also
needed.
The wakeup times part is still up in the air due to the spec not knowing
what it's saying, but let's do something that makes at least some sense
given the VBTs currently out there in the wild.
v2: Actually dump out tp2/3 wakeup time
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Just to tidy a discrepancy where doing the compare using the GTT (i.e. a
readback) is now faster than setting the contents initially (as the
readback only checks one pixel per page, do the same for setting the
object).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
benchmarks/ doesn't have the same automagic .gitignore so add the
missing ones.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
vgem provides WC mmap on its dmabufs, so reading and comparing these is
slow. We can employ a similar w/a to the other WC mmaps (i.e. mmap__gtt
or mmap__wc) and only check one pixel per page. This will speed up those
tests, but I don't know if it makes detecting coherency issues more or
less likely. :|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Otherwise we inherit the bufmgr and fd across the fork, try to clean it
up in the child (affecting the parent's device), then try to clean it up
in the parent (triggering warns).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
commit 4337091f6af6 moved the initialisation of the pollfd into the
child, forgetting that it was also used in the parent as a sanity check.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97885
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Likely candidate for this behaviour is the igt_fixture block. Seen in the CI by
running tests/kms_psr_sink_crc which is causing segfaults in the fixture block.
While at it fix some minor printing bugs.
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
CC: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Not as automagic as kbuild :(
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Commit to a mode before querying it.
Tested-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=97172
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Just do whatever skylake does.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
|
Not everything we want from debugfs is under debugfs/dri. But we do want
to share the code to find the debugfs mount point (and mount it if is
not found).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Primes are useful as input sources since they should not fall into any
patterns that may be optimised by the drivers.
An example of use this in a test driver:
uint32_t seqno, inc, count;
seqno = inc = count = 0;
do {
inc = igt_next_prime_number(inc);
if (seqno + inc < seqno)
break;
seqno += inc;
/* igt_assert_eq(test_inc(inc), seqno); */
count++;
} while (1);
printf("count=%u, seqno=%u, last=%u\n", count, seqno, inc);
and prints "count=27878, seqno=4294845817, last=323381", or for simply
generating the set of the first N prime numbers, use
for_each_prime_number(prime, 100)
printf("%lu ", prime);
which prints
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 64 67 71 73 79 83 89
97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181
191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281
283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397
401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503
509 521
Note that 1 is included in the set of prime numbers for convenience
above. Mathematicians beware!
The set of primes is computed using the Sieve of Eratosthenes, which
basically just keeps a list of all multiples - any number not in list is
therefore prime. As a bitmask of all integers is kept, it can be quite
memory intensive for very large primes. A fallback to "trial division"
is available just in case, but for large primes that is much slower.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This fixes a failure when running kms_flip after booting on a bare
system as nothing will have probed the connectors before hand.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|