215 Commits

Author SHA1 Message Date
Mika Kuoppala
796fd58a17 tests: add gem_seqno_wrap
This test uses debugfs entry to set next_seqno close
to a wrapping point and then creates a load with dependant
buffer objects or with specified command to induce the wrap.

v2: Use new get_rendercpy_func as suggested by Daniel Vetter.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-04 23:03:54 +01:00
Daniel Vetter
175fc656eb tests/Makefile.am: Add a comment about the subtest infrastructure 2012-12-04 10:37:55 +01:00
Daniel Vetter
d8df90dc6b tests/gem_exec_bad_domains: add more bad domains
- mulitple write domains
- conflicting write domains
- not-yet-defined gpu domains

Also convert to subtests while at it.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-01 00:58:14 +01:00
Daniel Vetter
d79414f64a tests: disable gem_non_secure_batch
Seems to cause hangs on some of my old gen2/3 machines, but not all of
them.
2012-11-29 11:27:32 +01:00
Daniel Vetter
df11a6f31d tests/gem_tiled_partial_pwrite_pread: convert to subtest infrastructure 2012-11-28 13:25:12 +01:00
Daniel Vetter
129d201337 tests/gem_set_tiling_vs_blt: convert to subtest infrastructure 2012-11-28 13:10:26 +01:00
Daniel Vetter
ca2851f827 tests/gem_ringfill: convert to subtest infrastructure 2012-11-28 13:08:20 +01:00
Daniel Vetter
046b149b18 tests/gem_partial_pwrite_pread: convert to subtest infrastructure 2012-11-28 13:08:07 +01:00
Daniel Vetter
af228d4edc tests/gem_mmap_gtt: convert to subtest infrastructure 2012-11-28 12:40:23 +01:00
Daniel Vetter
7160c534f8 tests: re-enable gem_hangcheck_forcewak
Was accidentally disable in ab3f4bdafe60dede32a48674ef9920df090bf3a7

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-28 12:38:00 +01:00
Daniel Vetter
a2778575d5 tests/gem_gtt_concurrent_blit: convert to subtest infrastructure
Same treatment as for gem_cpu_concurrent_blit.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-28 12:35:03 +01:00
Daniel Vetter
2a9e128b18 tests/gem_flink: convert to subtest infrastructure 2012-11-28 12:17:40 +01:00
Daniel Vetter
9d65d484f6 tests/gem_cs_tlb: convert to subtests
Again required a bit of shuffling to avoid expensive setup and some
logic to properly handling 'skip' when only running a subtest.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-28 12:09:58 +01:00
Daniel Vetter
4f6ab180a1 tests/gem_cpu_concurrent_blt: convert to subtest infrastructure
Small changes to avoid expensive setup just to print out the subtest
list, and setting up the source buffers such that "early-read" works
without having run "overwrite-soure" right beforehand.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-28 12:00:33 +01:00
Daniel Vetter
792a05a0a1 tests/gem_cacheing: convert to subtest infrastructure 2012-11-28 11:57:58 +01:00
Daniel Vetter
3cca0d8c6d tests/gem_basic: convert to subtest infrastructure 2012-11-28 11:57:58 +01:00
Daniel Vetter
c3d5c1292b tests/flip_test: use subtest infrastructure
To make the testnames easier to handle in scripts, replace all
spaces with dashes.

The important part is to not print anything to stdout when enumerating
subtests, so protect the timestamp test with the right check.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-28 11:57:58 +01:00
Daniel Vetter
4fae0c65c5 tests: remove ZZ_check_dmesg from runner
This is getting in the way of piglit integration. If we want this
functionality again, we should integrate it into the IGT piglit runner
as an option.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-28 11:08:37 +01:00
Daniel Vetter
c79c56cf8c tests: infrastructure for piglit runner
Piglit needs a way to grab the latest list of tests to run, so add new
make targets to dump those. Note that for future extendability we'll
dump 2 different lists, one for single-testcase tests and one for
testcases with enumerable subcases. Some support code for the later
will follow in subsequent patches.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-28 11:08:31 +01:00
Daniel Vetter
e5315f9dad tests: add gem_non_secure_batch 2012-11-25 13:55:55 +01:00
Daniel Vetter
1431938c5c tests: add big batchbuffer test
... and use it in the hangman to stress the error_state capture a bit more.

Uncovered a bug in the obj->pages ->obj->sg_list rework.
2012-10-09 19:29:02 +02:00
Daniel Vetter
a7787baccc tests/gem_cs_prefetch: clarify what it tests
I've forgotten ;-)
2012-10-09 15:51:13 +02:00
Daniel Vetter
2d431fd6b6 tests: add drm_threaded_access_tiled
This catches parallel access to bo->virtual causing sigbus

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
[danvet: applied some bikeshed
- changed prefix from drm_ to gem_, it's a kernel gem test
- added autohell magic to link with pthreads
- .gitignore entry
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-10-03 13:44:30 +02:00
Chris Wilson
3b9a76d2fa tests: Add gem_cpu_reloc
Attempt to stress test performing relocations whilst the batch is in the
CPU domain.

A freshly allocated buffer starts in the CPU domain, and the pwrite
should also be performed whilst in the CPU domain and so we should
execute the relocations within the CPU domain. If for any reason one of
those steps should land it in the GTT domain, we take the secondary
precaution of filling the mappable portion of the GATT.

In order to detect whether a relocation fails, we first fill a target
buffer with a sequence of invalid commands that would cause the GPU to
immediate hang, and then attempt to overwrite them with a legal, if
short, batchbuffer using a BLT. Then we come to execute the bo, if the
relocation fail and we either copy across all zeros or garbage, then the
GPU will hang.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-10-02 17:35:01 +01:00
Ben Widawsky
0cedccc844 sysfs rps test added
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-09-14 12:39:20 -07:00
Chris Wilson
ac23daaa51 tests/gem_cacheing: Exercise snoop coherency
This is based on tests/gem_partial_pwrite_pread which aims to detect
incoherency between CPU reads and writes to a bo whilst using it as a
source and target for GPU writes.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-27 09:42:34 +01:00
Alan Coopersmith
1b5fd314fd Add --disable-nouveau option for platforms without nouveau support
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-08-24 23:20:32 +02:00
Daniel Vetter
e40146878e Revert "tests: disable nouveau if unavailable"
This reverts commit dd8325323bfcca1f742e864ca7d87101a0d59936.

I like the patch from Alan Coopersmith with an explicit disable
option better.
2012-08-24 23:18:48 +02:00
Maarten Lankhorst
dd8325323b tests: disable nouveau if unavailable 2012-08-24 22:55:20 +02:00
Daniel Vetter
082826de6c tests: add gem_gtt_cpu_tlb
This catches tlb invalidation issues on my snb mobile gt2+
2012-08-15 10:26:48 +02:00
Maarten Lankhorst
fc54f2eaa8 satisfy danvet's OC
and add skip codes, but mostly satisfy danvet's OCD
2012-08-14 18:25:50 +02:00
Maarten Lankhorst
4520025b73 Add intel <-> nouveau prime tests 2012-08-13 15:57:57 +02:00
Daniel Vetter
6bc22e3dfd tests: add basic re-importing prime test
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-07-23 09:52:10 +02:00
Daniel Vetter
fb748aad4c tests: s/drm_reg_read/gem_reg_read
gem_ is the prefix for low-level kernel tests, drm_ tests
libdrm_intel specific stuff.
2012-07-23 09:52:10 +02:00
Ben Widawsky
4fe7869539 reg_read: basic register read ioctl test
This will need to get modified when the ioctl expands, and so is only
here for reference/to make Daniel happy.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-07-18 11:30:12 -07:00
Ben Widawsky
afcffe783a context_basic: the most stressful context test to date.
this context test requiring libdrm updates

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-29 11:25:03 -07:00
Ben Widawsky
f7e356d9cd context tests not requiring libdrm
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-06-18 12:06:45 -07:00
Daniel Vetter
55fdd7f1bb cleanups after l3_parity merge
- call it sysfs_l3_parity for more consistency
- add .gitignore for intel_l3_parity
2012-05-31 15:20:12 +02:00
Ben Widawsky
dac1a2ceda tests/dpf: simple dpf test
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-05-31 15:20:12 +02:00
Ben Widawsky
9cfcb75b79 tests/wait render timeout test
Assures that signals interrupting the wait works properly. Because of
the scheduling around signals, interrupted waits will *seem* faster as
the GPU continues to work while all the CPU scheduling stuff happens.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-05-25 13:08:28 +02:00
root
a628d56470 tests: add module reload testcase
We've broken this way too often in the past.
2012-05-25 11:02:09 +02:00
Jesse Barnes
362599ac10 tests: add simple flip test
Add a simple flip test to test flipping on a single output with the
preferred mode.

TODO: test each crtc for 3s and print pass/fail results
2012-05-07 12:36:28 -07:00
Daniel Vetter
bb40c7e8df test: fix up hangman script and enable by default
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-25 13:21:38 +02:00
Daniel Vetter
cf72da57dc tests: add gem_unfence_active_buffers
Unfortunately this requires slab poisoning to catch anything :(

Also add a new helper to drmtest to get the available fence count.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-22 12:35:23 +02:00
Daniel Vetter
16bc619939 tests: add gem_set_tiling_vs_pwrite
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-17 22:02:33 +02:00
Daniel Vetter
ff6abb313d tests: add gem_set_tiling_vs_gtt
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-17 17:25:24 +02:00
Daniel Vetter
b38188ad97 tests: rename gem_tiled_after_untiled_blt into gem_set_tiling_vs_blt
... it checks much more now.

Also update the comments a bit in the testcase.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-15 23:59:12 +02:00
Daniel Vetter
8f6ebd4ac0 tests: add gem_gtt_concurrent_blit
Same test as Chris Wilson's gem_cpu_concurrent_blit, but for
gtt mmaps.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-11 15:28:26 +02:00
Ben Widawsky
f841f4028c tests: rc6 residency test
This is meant to test the sysfs entry for showing rc6 residency in
milliseconds. Remember, sysfs is a permanent interface.

v2: use new get_card interface to try "all" devices
check rc6p and rc6pp in addition to rc6

v3: rename rc6_residency.c to sysfs_rc6_residency.c
print better error messages
skip test if rc6 isn't enabled

v4: update to new sysfs names

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
2012-04-10 21:11:13 -07:00
Chris Wilson
da026d8bfe test: Exercise concurrent GPU read/write with CPU domain access
Designed to exercise this patch to i915.ko:

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index fbf1118..57ae1f2 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3181,9 +3181,11 @@ i915_gem_object_set_to_cpu_domain(struct drm_i915_gem_obj
        if (ret)
                return ret;

-       ret = i915_gem_object_wait_rendering(obj);
-       if (ret)
-               return ret;
+       if (write || obj->pending_gpu_write) {
+               ret = i915_gem_object_wait_rendering(obj);
+               if (ret)
+                       return ret;
+       }

        i915_gem_object_flush_gtt_write_domain(obj);

By exercising the conditions whereby should either of the checks be missed
an error is detected.
2012-04-10 19:35:29 +01:00