215 Commits

Author SHA1 Message Date
Ben Widawsky
af275bd521 tests: add wedging tests
Used to check that i915_error_state works. Unfortunately this
kills the gpu because wedging is permanent.

Base on a patch by Ben Widawsky.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-04 11:13:06 +02:00
Daniel Vetter
c34e481199 tests: add gem_tiled_after_untiled_blt
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-03-23 19:31:01 +01:00
Daniel Vetter
16c4f52782 tests: add gem_mmap_offset_exhaustion
This also adds a gem_madvise helper to lib/drmtest.c

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-03-20 14:27:05 +01:00
Daniel Vetter
f1d32d541d tests: add tiled partial pwrite/pread test
And indeed, this blows up.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-02-29 16:12:24 +01:00
Daniel Vetter
7492f97cde tests: add gem_cs_prefetch
Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-24 23:03:12 +01:00
Daniel Vetter
7f7cafe729 testdisplay: extract hotplug code
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-24 10:50:10 +01:00
Daniel Vetter
98129fa2ff tests: add gem_tiled_swapping
Also add a drmtest_exchange_int helper, might come handy at other
places.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-22 22:28:46 +01:00
Daniel Vetter
08ccec1ec7 tests: make testdisplay non-optional
Not testing modesetting should not be an option.

Also this hopefully prevents testdisplay build-breakage from lingering
on for days like it has in the past.

And we want to eventually test the gem/kms cross-section, i.e.
pageflips.

Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-19 13:07:25 +01:00
Daniel Vetter
f07e4d1885 lib: extract rendercopy functions from gem_stress
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-18 21:23:56 +01:00
Daniel Vetter
eb64591613 tests: add ZZ_check_dmesg
This way the testsuit automatically fails if we hit a DRM_ERROR
or a WARN/BUG somewhere.

... i.e. this is the Jesse Barnes catcher ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-15 16:05:43 +01:00
Daniel Vetter
7a54bfa772 tests: add drm_vma_limiter_cached to check libdrm cache mmap pruning
Suggested by Chris Wilson.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-11 16:56:50 +01:00
Daniel Vetter
36d25cc744 tests: add drm_vma_limiter variants that only check gtt/cpu mmaps
Suggested by Chris Wilson.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-11 14:59:47 +01:00
root
553021d974 tests: add drm_vma_limiter
v2: Also check whether a 2nd mmap on the same bo still works.
Suggested by Chris Wilson.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-11 14:47:09 +01:00
Alan Coopersmith
504c4fa94f Fix pthread compiler flags to work on Solaris and with Studio compiler
AC_USE_SYSTEM_EXTENSIONS is used to let autoconf take care of setting
the right system defintions for POSIX threads & similar extensions to
the base POSIX API.   Since it will also #define _GNU_SOURCE 1, remove
the extra setting to avoid compiler warnings about redefined macros.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-08 21:49:03 +01:00
Gaetan Nadon
665b86664a config: use project wide xorg warnings variable
Use CWARNFLAGS as in all of xorg. There seems to be no reason why this
module should be different. The warnings were updated recently
for those who install the latest util-macros.

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-01-04 10:47:11 +01:00
Daniel Vetter
5a851b1392 tests: add gem_partial_pwrite_pread
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-12-04 21:45:12 +01:00
Daniel Vetter
ad6be1f0c9 tests: add gem_reloc_vs_gpu
Tests whether the kernel properly waits for the gpu before
applying a reloc.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-12-04 12:08:59 +01:00
Daniel Vetter
f5854c8902 tests: add gem_exec_faulting_reloc
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-12-02 20:36:06 +01:00
Daniel Vetter
ab3f4bdafe tests: add gem_exec_bad_domains
To check whether the kernel properly rejects non-gpu domains in
relocs.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-12-02 18:41:34 +01:00
Daniel Vetter
783f16e328 tests: add gem_tiled_pread_pwrite
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-12-02 10:55:56 +01:00
Eugeni Dodonov
faf413d875 tests: add a test for checking edid reading delays
With base on EDID timing testing, when we take more than 1s to run
xrandr command, something is wrong.. So add this test for testing the time
we take to read the status of all the connectors from sysfs. It should do
us an average picture of how long we'd take to run xrandr (roughtly 2x
that value).

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-11-10 11:33:37 -02:00
Eugeni Dodonov
48186febf1 tests: add test for kernel segmentation fault
As asked by Daniel Vetter, this is a tech which checks if we can cause
division by zero in kernel by reading the i915_emon_status debugfs
entry repeatably.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-11-10 11:33:05 -02:00
Daniel Vetter
593cb1874a always require libdrm
... and also add the missing files to lib/Makefile.am

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-11-01 17:04:44 +01:00
Daniel Vetter
3291023151 tests: mark gem_bad_address as HANG
Kills my little i855gm.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-31 23:19:08 +01:00
Daniel Vetter
d4cc95b457 tests: check for other drm clients
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-31 16:07:02 +01:00
Daniel Vetter
20ff3839e4 tests: don't run kernel check from make check
Add a new target test for that.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-30 22:27:19 +01:00
Daniel Vetter
91b3c7f333 make distcheck fixes
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-30 21:24:12 +01:00
Daniel Vetter
f361664df0 tests: add test to read all debugfs files
Catches a bunch of forcewake warnings on snb+

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-30 20:54:18 +01:00
Daniel Vetter
5ef806bb5d tests: add gem_unref_active_buffers
The crucial trick to reproduce the bug is that we need to have
a decent pile of active bos to retire. Because we unref the bo
after having it moved off the active list, our recursion depth
in fdo bug #42180 is limited by the number of active objects that
can retire at the same time.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42180
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-28 17:40:23 +02:00
Daniel Vetter
1c6511f7fb tests: add gem_hangcheck_forcewake
Provokes the forcewake warning when the hangcheck runs and no
one waits for the gpu (and hence holds the dev->struct_mutex).

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-10-16 21:14:03 +02:00
Daniel Vetter
ba2255a7e4 tests: build all tests by default
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-14 14:59:23 +02:00
Daniel Vetter
2c380c2eac tests: disable gem_bad_blit
Hangs gen3 and simply writes garbage into the unmappable part of
gtt on gen4+, which might cause issues later on.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-14 11:06:03 +02:00
Daniel Vetter
b8245e18fe tests: add basic test for missed irqs
Didn't catch any known bug, but can't hurt.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-12 20:45:49 +02:00
Daniel Vetter
fbf8950f6e tests: check pipe_control coherency
v2: proper support for gen6+

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-12 20:40:10 +02:00
Daniel Vetter
61b9806f4e tests: basic ring<->cpu and ring<->ring tests
Using a dummy reloc that doesn't matter to trick the kernel into
synchroizing the rings.

v2: properly apply MI_NOOP workaround to MI_FLUSH_DW and
switch to MI_COND_BATCH_BUFFER_END as a dummy command on the
render ring to avoid PIPE_CONTROL errata.

v3: somebody clever decided that in C, you cound from 1,
i.e. I915_EXEC_RENDER == 1. It works now ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-12 09:39:16 +02:00
Daniel Vetter
32f49c7c0d tests: split up gem_storedw_loop into ring specific variations
Also start to shortly explain testcases with an easily-greppable
header like this:

/*
 * Testcase:
 *
 * [Possible further explanation.]
 *
 */

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-09 22:57:16 +02:00
Jesse Barnes
922214f986 tests: add store dword tests
Add a couple of simple store dword tests to test memory coherence.

gem_storedw_loop simply executes a batch that continually stores an
incremented value to a target buffer object, checking the results after
each batch completes.

gem_storedw_batches_loop does the same thing, but creates a new command
batch buffer for each iteration, which can exercise the buffer creation
code.  This test is based on one from Andrzej Kacprowski from Intel.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2011-08-12 12:51:34 -07:00
Chris Wilson
a0a0b6ab34 Add a test case for coherency of vmaps
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-08 14:54:32 +01:00
Chris Wilson
8908055da6 tests: Add an exercise for zero-length buffers
Triggers an OOPS with dmar enabled currently.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-23 14:06:45 +01:00
Chris Wilson
9de433a471 tests: Add a simple exercise of GTT mmaps
Test copying between 2 mappings and reading/writing from and to.

References: https://bugs.freedesktop.org/show_bug.cgi?id=38115
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-20 13:55:36 +01:00
Chris Wilson
f5e63b12a5 test: Add more gen3 render blitters
... and we have a winner: gen3_mixed_blits reproduces the issue Daniel
Vetter originally found. It seems clear that we have some incoherence
between the RENDER and BLT units on gen3 that no amount of MI_FLUSH can
hide. Hmmm....

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 18:12:47 +01:00
Chris Wilson
20b69039e8 test: Exercise gen3 render copies
gem_stress is unhappy with tiled render copies on gen3. This is a simple
little test to ensure that a set of pure copies with a working set
larger than the aperture are handled correctly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 12:10:11 +01:00
Chris Wilson
3ca054c225 tests: Add a fenced execbuffer thrash test
Exercise a nasty corner-case in the reservation logic for the fence
accounting.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-04 23:17:25 +01:00
Chris Wilson
719ffef7c3 gem_stress: Add render copyfunc for SandyBridge
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-05-24 22:08:48 +01:00
Daniel Vetter
afa940c398 Disable gem tests when libdrm is not available
Quickly checked on ppc by Cyril Brulebois.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-09 20:15:10 +02:00
Daniel Vetter
4fcfc9f102 gem_stress: gen2 render copy
Sometimes acts up like gen3 on my i855gm. Sometimes works flawless.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-04 22:03:44 +02:00
Daniel Vetter
a6751bac8d gem_stress: split out gen3 render copy
Header conflicts with other headers for different generations.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-01 13:07:43 +02:00
Daniel Vetter
08cf53703e Add gem stress test
Not where I want it to be, yet. And not as good as I've hoped in detecting
broken kernels.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-20 21:12:32 +01:00
Chris Wilson
84c32bd85c test: Mark gem_bad_batch as a known hang
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-05 09:01:46 +00:00
Chris Wilson
d4127e0e68 tests: Move potential machine killers away from distcheck
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-09 10:24:39 +00:00