495 Commits

Author SHA1 Message Date
Chris Wilson
77586dcdf7 test/gem_gtt_speed: Add a baseline test for the performance of a CPU mmap
When looking at the pwrite/pread/wc performance, it is useful to judge
that against the performance of an ordinary CPU mmap.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-06-04 17:50:51 +01:00
Daniel Vetter
b558877f6e test/sysfs_l3_parity: skip test if the sysfs interface doesn't exist 2012-05-31 15:58:29 +02:00
Daniel Vetter
4cf1b02e96 test/sysfs_l3_parity: fixup logic
It didn't fail properly.
2012-05-31 15:45:17 +02: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
8f7ea34751 tools/dpf: Tool to read and write l3 remap registers.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-05-31 15:20:12 +02:00
Daniel Vetter
a35dcac0ff tests/gem_wait_rendering_timeout: check polling behaviour
... with timeout=0. We have special code in the kernel to optimize
that one.
2012-05-30 20:16:24 +02:00
Daniel Vetter
b8e00110a0 lib/gem_wait_rendering_timeout: sprinkle busy_ioctl checks
While we have that testcase, let's cross-check the busy ioctl.
2012-05-29 22:23:14 +02:00
Daniel Vetter
04dfa492d1 tests/gem_wait_rendering_timeout: test the timeout case
When I've first tried this it somehow failed, but I can't reproduce
this any more. I guess I've hunted a ghost.
2012-05-29 17:35:21 +02:00
Daniel Vetter
b711bfe54f tests/gem_wait_rendering_timeout: fix up the autotuner
duuh
2012-05-29 16:49:41 +02:00
Daniel Vetter
95877ab9ce tests/gem_wait_rendering_timout: adjust .gitignore 2012-05-29 16:35:35 +02:00
Daniel Vetter
2952feb23f tests/get_wait_rendering_timeout: fixup the auto-tuner
- start at 1 iterations
- actually adjust the number of iterations like the comment claims
2012-05-29 16:35:30 +02:00
Daniel Vetter
cf979c2063 tests/gem_wait_rendering_timeout: some fixes for the blt function
- widht/height are in pixel, and the cmd uses 32bit, so we need to
  adjust this.
- we write to the buffer, set the right reloc domain.
2012-05-29 16:34:32 +02:00
Daniel Vetter
25bf5574a2 tests/gem_wait_rendering_timeout: properly skip test
also assign the timeout value unconditionally, we want to know it even
when we've timeout out.
2012-05-29 16:24:04 +02:00
Daniel Vetter
f14a045137 tests/gem_wait_rendering_timeout: make it compile
... we need to do this libdrm depency dance. Or just copy&paste it.
2012-05-29 16:14:31 +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
Daniel Vetter
c26b5ee72f tests: fixup type in module_reload
Oops, I've frobbed this to test the check but committed the wrong
version.
2012-05-25 11:29:28 +02:00
root
3985d9b976 tests: add some help to module_reload
... so that it's easier to get the kernel configuration right.
2012-05-25 11:28:38 +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
Daniel Vetter
2448a75ff6 tests/hangman: fix when run with absolute path
QA's test rig does that.
2012-05-23 11:37:04 +02:00
Daniel Vetter
96c2fc82ba test/flip_test: fail harder
We want testcase to return non-zero if they fail ...
2012-05-22 19:54:22 +02:00
Daniel Vetter
17787f30c6 lib: extract kmstest_dump_mode 2012-05-22 16:15:15 +02:00
Daniel Vetter
b7aa6756ce test/flip_test: use kmstest_create_fb
And bring back some frame indication that actually works.
2012-05-22 16:12:04 +02:00
Daniel Vetter
662d732199 lib: extract kmstest_create_fb
We should get more kms tests soon, and not needing to copy-paste a
nice test pattern should be useful.

That establishes a firm depency of i-g-t on cairo over everything, but
I don't care so much about that.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-05-22 15:56:29 +02:00
Daniel Vetter
0732cc59ab tests: use drm_open_any more
And fix it up to not leak open fds, which kills all the master only
stuff.
2012-05-22 12:01:36 +02:00
Daniel Vetter
a5e6897d10 tests/flip_test: rip out usage
Totally useless if the only option is "-h"
2012-05-22 10:57:17 +02:00
Daniel Vetter
1fedd1db41 tests: add flip_test to .gitignore 2012-05-22 10:53:38 +02:00
Daniel Vetter
9e620146f7 tests/flip_test: rip out funny pictures
The path isn't properly autodetected and it yells stupid stuff into
stderr. Which causes spurious failures.

And really, these are automated tests. If you need to look at the output,
something is wrong.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-05-22 10:51:29 +02:00
Daniel Vetter
544e357851 tests/gtt_speed: try to outwit gcc
It optimized away the read loops ;-)

Also fix up the size to not be 1/4th of the one we want for tiled
buffer tests.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-05-10 20:25:33 +02:00
Chris Wilson
78c38dcddb tests/gem_tiled_pread_pwrite fix progname for pretty print progress
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-09 14:06:28 +01:00
Jesse Barnes
e70b7de8ce tests/flip_test: test on each CRTC for each detected output
This allows us to test on 3 pipe configs for example.
2012-05-07 12:57:05 -07: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
97198ccbe1 test/ZZ_hangman: adjust to new error_state reset semantics
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-27 14:08:34 +02: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
7e9676143c tests/gem_ringfill: add progress indicator
This thing takes ages on older chips.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-19 12:36:48 +02:00
Daniel Vetter
127d76d51c tests: re-enable commented-out testcase
Meh, I suck.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-17 22:38:44 +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
2f4bc72da7 tests/gem_set_tiling_vs_gtt: update copyright header
Meh, I've forgotten these.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-17 18:01:48 +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
48ec7f9edd tests/gem_set_tiling_vs_blt: fix on gen4+
Oops, the new checks need correctly tiled blts to work.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-17 13:25:04 +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
887e4a58b9 tests: pimp tiled_after_untiled_blt
Now with more tiling transition tests. Changes:
- refactoring to reuse the tiling transition functions.
- add a tiled->untiled transition
- add a tiled->tiled transition with different stride
- add a check at the end to ensure that the tiling has indeed changed
  on the test_bo

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-15 23:47:22 +02:00
Daniel Vetter
de9d98bb6e tests: skip rc6_residency test if not supported
Fixes spurious failures.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-12 23:12:24 +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
Daniel Vetter
0448eefeb2 tests: add sysfs_rc6_residency to .gitignore 2012-04-11 15:02:32 +02:00
Daniel Vetter
ee014dbb8d tests/sysfs_rc6_residency: add some sleep before testing
That way I can run i-g-t on my ivb without spurious failures.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-04-11 14:55:30 +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
b78243fc61 test/gem_cpu_concurrent_blit: Limit memory usage to half aperture
So that we don't cause needless thrashing on older devices and spoil the
test.
2012-04-10 19:41:43 +01: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