1959 Commits

Author SHA1 Message Date
Daniel Vetter
400535e82f tests/flip_test: measure inter-frame ts jitter
Yell if it's wrong.

For some odd reason this blows up on my snb. And always on the same
o->count frame on the 2nd crtc ... And we have to thank the hpd poll
helper for that. Comment explaining this added, also made the error
non-fatal.
2012-10-02 19:39:17 +02:00
Daniel Vetter
87f7dccab6 flip_test: race against modesets, too
Even slower than dpms switching ;-)
2012-10-02 19:39:17 +02:00
Chris Wilson
ef45b44036 gem_wait_render_timeout: Fix SKIP return code
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-10-02 19:22:37 +01: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
Daniel Vetter
d619a672df tests/flip_test: also test pannning with dummy load
Needs a bit more relaxed select timeout to work (which is not
required when testing dummy_load vs. dpms, since the dpms forces the
sync, not the select timeout).
2012-10-02 17:22:09 +02:00
Daniel Vetter
66fe119afd tests/flip_test: test interaction with panning
Since panning with set_crtc is synchronous, we need to stall for any
outstanding pageflips. This new testcase exercise that code. Unfortunately
we still need eyes to check whether we don't loose the offset :(
2012-10-02 17:17:40 +02:00
Daniel Vetter
3441ad29bf tests/flip_test: robustifications
- don't yell around about dropped frames on tv connectors (and explain
  why in a comment)
- wait a bit when using a test config that checks for dropped frames before
  starting. Also allow for 1% of fudge, this makes it reliably work
- make the dummy load more variable, took too long on older machines.
2012-10-02 17:01:06 +02:00
Daniel Vetter
cdad308a4b tests/flip_test: don't complain about timestamps in the future
those can happen due to the scanline vblank timestamp adjuster ...
2012-10-02 16:09:00 +02:00
Daniel Vetter
4c7fc65cb6 tests/flip_test: actually try to check what I want to check
/me sucks
2012-10-02 15:59:58 +02:00
Daniel Vetter
6b034a6fd6 tests/flip_test: check whether timestamp isn't in the past
This is mostly useful for when we add support for other clock sources,
e.g. clock_monotic, to check whether the kernel picked the right
clock.
2012-10-02 15:42:34 +02:00
Daniel Vetter
73af035c59 tests/flip_test: check whether the pageflip event took too long
We're suspecting that something is fishy with the event deliver/vblank
timestamp handling on gmch platforms. Unfortunately, this isn't it.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-10-02 15:37:24 +02:00
Chris Wilson
f509d40fa9 flip_test: count the number of flips and check we don't drop any
In the basic case of just flipping between two buffers with no
additional work, we should neve drop a frame.
2012-10-02 13:31:33 +01:00
Daniel Vetter
93ea0182c4 tests/flip_test: re-enable disabled testcases
oops
2012-10-02 11:50:20 +02:00
Daniel Vetter
4701dacbc5 tests/flip_test: new testcase with a busy load before the flip
I've hoped that this would be good enough to hang pch platforms, but
it looks like those just complete the flip immediately on disabled pipes.
2012-10-02 10:33:13 +02:00
Daniel Vetter
3d4ebe9be3 fixup .gitignore for newly add sysfs_rps test 2012-10-02 10:32:25 +02:00
Chris Wilson
a65087a26e tests/flip_test: Revamp to demonstrate race with modeset/dpms and pageflips
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-28 13:02:46 +01:00
Yi Sun
53895acbe2 Add option -o <number>, which can test only one specified mode.
Each mode line has a number just like '[i]'. So we can only test the specified mode with giving the number of mode to '-o' parameter.

Signed-off-by: Yi Sun <yi.sun@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-09-26 14:46:02 +02:00
Chris Wilson
d00f72a01b tests/module_reload: Silence warnings when unloaded shared modules
So long as we spit out critical errors during i915 reload, or detect any
oops the test will do its job.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55040
2012-09-18 14:06:14 +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
397cd4acd1 gem_gtt_speed: Add a test that caches the mmapping across iterations
Repeat the memset streaming performance test on the same mapping so that
we can factor out the overhead of establishing the GTT/CPU mmaps.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-13 15:05:34 +01:00
Chris Wilson
f256ada3b6 gem_gtt_speed: Use a memset() to test streaming performance
This make the reasonable assumption that the libc code for memset() can
saturate the memory bandwidth -- at any rate it should do better than
the copy.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-09-13 14:59:09 +01:00
Ben Widawsky
bc62567b77 clang: Fix static analysis warnings from clang
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-08-30 14:20:52 -07:00
Ben Widawsky
54ed938d39 clang: Fix warnings found through clang.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-08-30 14:19:10 -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
Alan Coopersmith
4cdfa8e9b7 flip_test: add cast to pacify Solaris Studio compiler
Fixes build error:
"flip_test.c", line 180: improper pointer/integer combination: op "="

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-08-24 23:20:27 +02:00
Alan Coopersmith
99fdba921e Fall back to CLOCK_MONOTONIC on systems without CLOCK_MONOTONIC_RAW
Solaris has not yet adopted this Linux extension

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-08-24 23:20:14 +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
Maarten Lankhorst
425940be1d tests/prime_nv_test: add missing call for test8 2012-08-24 22:50:42 +02:00
Maarten Lankhorst
c5b7ebc1cc tests/prime_nv_pcopy: kill debug code that's not upstream 2012-08-24 22:50:42 +02:00
Daniel Vetter
94ec3f926c tests/prime_nv: don't enable buffer reuse
We share these suckers, hence the fd-local libdrn instance does not
have full control over the lifecycle of the object. Prevents the tests
from blowing up with

[drm:i915_gem_mmap_gtt] *ERROR* Attempting to mmap a purgeable buffer

and similar things.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-08-24 15:45:09 +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
1f523bd8d1 Fixup previous commit
ENODEV not being defined and return code wrong
2012-08-14 18:52:23 +02:00
Maarten Lankhorst
3dda357445 And add another corner case skip 2012-08-14 18:50:29 +02:00
Maarten Lankhorst
0f65ee9576 fix crash with insufficient permissions 2012-08-14 18:48: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
Yi Sun
9fcaffda88 Update the image file pass.png with higher correction level
Signed-off-by: Yi Sun <yi.sun@intel.com>
2012-08-08 08:51:55 +02:00
Yi Sun
f669e8c12e tests/testdisplay.c Remove an uncomfortable error output
Signed-off-by: Yi Sun <yi.sun@intel.com>
2012-08-08 08:51:47 +02:00
Daniel Vetter
81f16261f4 tests/gem_reg_read: actually wait a bit between reading TIMESTAMP reg
QA could only hit this on ilk because the timer increase quite a bit
slower on that platform than on gen6+ (80ns vs 320ns, iirc).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52937
2012-08-05 21:40:56 +02:00
Yi Sun
41fe811feb tests/testdisplay.c: Add a option '-r'.
With the option '-r', the testdisplay could paint a 2-D bar code(QR
bar code) on the screen. The word "pass" is hiden in the bar code
image.  Further more, with this option, testdisplay will wait until a
system signal 'SIGUSR1' coming after each mode setting. This function
is for another program to control testdisplay.

danvet: Fix up the missing static.

Signed-off-by: Yi Sun <yi.sun@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-07-26 15:01:08 +02:00
Daniel Vetter
efa5e355ac test/flip_test: don't fail if we can't find a crtc
some connectors are forced to certain crcs ...
2012-07-23 13:38:40 +02:00
Daniel Vetter
c832aa1714 tests: fixup prime test paranoia 2012-07-23 11:25:47 +02:00
Daniel Vetter
5d9e22366b tests/prime: more paranoia
- check the old contents first in check_bo
- drop all GEM handles for the re-import test
2012-07-23 10:06:25 +02:00
Daniel Vetter
796f6193c9 tests: add missing stuff to .gitignore
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-07-23 09:52:10 +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
Daniel Vetter
434be47f12 shut up the compiler a bit
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-07-23 09:52:10 +02:00
Ben Widawsky
4c9abd5aa4 reg_read: use good offset, and errno
The test was bonghits.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2012-07-22 16:30:04 -07:00