215 Commits

Author SHA1 Message Date
Rodrigo Vivi
4572067c88 tests: ddx_intel_after_fbdev loads intel ddx after fbdev was loaded.
v2: Don't add to kernel tests.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-21 23:18:00 +02:00
Chris Wilson
e104037fff tests: Add gem_evict_alignment
Clone gem_evict_everything and use it to exercise the misalignment
paths.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-21 10:26:59 +01:00
Paulo Zanoni
c158128de5 tests: add pc8
This test chekcs our code that enables Package C8+. The environment
requirements for this test are quite complicated:
  - The machine needs to be properly configured to reach PC8+ when
    possible, which means all the power management policies and device
    drivers must be properly configured.
  - You need at least one output connected.
  - You need the /dev/cpu/0/msr file available.
  - You need the /dev/i2c-* files available.

v2: - Many many changes due to the latest review comments and rebase.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-20 22:26:32 +02:00
Chris Wilson
c615b58289 tests: Add gem_evict_everything
Exercise the eviction logic. This is just a naive test to ensure that we
can evict old buffers to accommodate new batches, and in the process
trigger the evict everything logic.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-08-20 11:53:44 +01:00
Imre Deak
b70d4c9e68 tests: add kms_setmode
Iterate through all valid/invalid crtc/connector combinations. At the
moment only clone configurations are tested as the single output cases
are tested already by testdisplay. Also from combinations where all
connectors are on the same crtc (clone-single-crtc) only those are
tested that are invalid, as I haven't found any machine that supports
these (have to be GT2 with dvo and vga output).

For configurations with one crtc per connector the FBs are per-crtc atm.

Signed-off-by: Imre Deak <imre.deak@intel.com>
2013-08-19 16:56:14 +03:00
Daniel Vetter
43779e37b5 tests: merge gem_*_concurrent_blt together
Too much copy&pasting isn't good.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-14 14:50:50 +02:00
Daniel Vetter
907377da0e tests/gem_readwrite: convert to subtests
A bit lazy since the read/write tests are all smashed together. But
since we have really evil partial write/read tests for coherency
checking that doesn't matter that much really.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-13 15:07:44 +02:00
Daniel Vetter
ef9e64577d tests/gem_ctx_bad_exec: convert to subtests
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-13 15:07:44 +02:00
Daniel Vetter
bd161f8c04 tests: add drm_get_client_auth
To check we don't break the magic authentication check libva does.

Ugh.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-12 19:51:40 +02:00
Daniel Vetter
a7433ec9ee tests: scrap old automake based kernel test runner
Upstream broke our dynamic creation of the testlist, and I think
adding stupid .tests suffixes everywhere just to appease upstream
autohell tools isn't that great. So scrap it, we can use piglit
instead.

References: https://lists.gnu.org/archive/html/help-debbugs/2013-06/msg00000.html
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-12 14:09:55 +02:00
Daniel Vetter
7553ad6e10 tests: use drmtest_skip() in caching ioctl helpers
This way we can rip out all the skip handling from the test control flow,
and additionally (by using drmtest_retval()) even get correct exit codes.

The only tricky part is that when we only want ot skip parts of a test
(like for gem_pread and gem_pwrite) we need to split out those parts as
subtests. But no addition of control-flow is required, the set/longjmp
magic in the helpers all makes it happen.

Also we make extensive use of the behaviour of drmtest_skip to skip
all subsequent subtests if it is called outside of a subtest. This allows
us to re-flatten the control flow a lot.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-12 11:17:58 +02:00
Daniel Vetter
40ea6f4ea8 tests: s/cacheing/caching
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-12 11:10:26 +02:00
Daniel Vetter
57622965e5 tests/gem_pwrite_pread: subtest annotation
This testcase mixes correctnes tests with performance tests, so it's
good to track the different correctness test separate for QA.

Together with pread_after_blt the pwrite->blt tests here exercise the
full cache coherency lifecycle of both snooped and uncached objects.

/me is happy

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-07 11:59:05 +02:00
Daniel Vetter
3dba47e896 tests: add gem_prw_concurrent_blt
New testcase to check that pwrite/pread correctly synchronize with
oustanding rendering. Just to catch regressions when we change
something.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-06 22:28:41 +02:00
Daniel Vetter
4901b5ff0e tests/prime_self_import: Add racing handle2fd testcase
Similar to how we test flink races. Note that on unfixed kernels this
oopses, and with my current set of patches it still leaks like mad.

v2: Only close the prime fd if we've successfully created it.

v3: Add a reimport test to check whether we don't race when reaping
the obj->dma_buf link.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-08-06 21:59:55 +02:00
Chris Wilson
e4a7c2fe6d gem_pwrite_pread: Measure how long it takes to upload/copy/download
Further trying to determine the effects of setting snooping.
2013-08-06 16:58:59 +01:00
Chris Wilson
5d635f95f2 gem_pread: Symmetric measurement to gem_pwrite 2013-08-06 16:58:59 +01:00
Daniel Vetter
24bbca9237 tests/gem_flink_race: actually make it somewhat useful
- Enable subtest support.

- Add a check for the same flink name in the racing threads, which is
  an issue one of my recent patches actually fixes.

- Add the test I've actually wanted to write which races an flink
  against gem close (with no open in between). That one does indeed
  leak.

- Readd the leak check, but note that this needs a fixed kernel.
  Otherwise the leak counter will be utter garbage.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-24 12:52:01 +02:00
Daniel Vetter
7b5440a09a tests: add gem_flink_race
This exercises a race in the flink name descruction of the current drm
gem core. When racing a gem close with a gem open the open can sneak
in and cause the kernel to leak the flink name and its reference.

This results in leaked gem objects that won't get reaped even at drm
file close time. On my 2 core/4 threads snb machine this leaks on the
order of 1k objects per second.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-23 23:15:12 +02:00
Daniel Vetter
5fcb528cb3 tests: sort tests in Makefile.am and .gitignore
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-23 23:15:12 +02:00
Daniel Vetter
10834f8610 tests/gem_suspend: exercise fence restore code
This exercise the bug fixed in

commit 94a335dba34ff47cad3d6d0c29b452d43a1be3c8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Jul 17 14:51:28 2013 +0200

    drm/i915: correctly restore fences with objects attached

For fun I've also added a subtest for the inverse transition.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-23 20:46:57 +02:00
Ben Widawsky
89d96a12d6 tests: Basic tools tester
Requested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-07-21 22:04:20 -07:00
Chris Wilson
f801b92882 test/gem_pread_after_blit: Make the test a little more stressful
Extend the simply functionality by repeating it under the rude
interrupter and chain together a couple of steps in new test cases.

As a compromise for adding more tests, incorporate the piglit subtest
framework.
2013-07-20 10:25:12 +01:00
Daniel Vetter
c28b898cd4 tests/prime_nv_api: convert to subtest infrastructure
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-15 10:51:10 +02:00
Daniel Vetter
21c0ab30a1 test: add gem_write_read_ring_switch
This is meant to exercise the bug fixed in

https://patchwork.kernel.org/patch/2825192/

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-10 10:35:10 +02:00
Daniel Vetter
9360df4ab3 tests/gem_linear|tiled_blits: convert to subtests
Finer granularity for nightly runs and regression reporting is always
nice.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-03 08:47:34 +02:00
Imre Deak
528b1f381c tests: add kms_render
Add a test going through all connectors/crtcs/modes/formats painting to
a front FB with CPU or painting to a back FB with CPU and blitting it
to the front FB.

Only formats understood by cairo are supported for now.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
2013-06-06 01:43:51 +03:00
Damien Lespiau
0be2723c30 tools: Add a standalone tool to test the computation of r,n,p for WRPLLs
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-05-10 15:26:41 +01:00
Daniel Vetter
3d9beff623 tests: fix script testlist
Oops. This has been broken since:

commit d798ab9c2a092a08e14c6f2dfb1777376ba407a8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Dec 18 22:55:58 2012 +0100

    tests: add testcase to check igt runtime enviroment
2013-05-09 17:17:56 +02:00
Damien Lespiau
6a82b68e36 build: Make grep silent when running make test
-q will prevent grep from writing to stdout and print "root" when make
test is running as root.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-05-08 13:34:21 +01:00
Xiang, Haihao
96baf59f3e tests: storedw on VEBOX
v2 (Ben): Define LOCAL_I915_EXEC_VEBOX
Small copyright fixes

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-04-24 18:56:10 -07:00
Imre Deak
70afbead46 tests/prime_self_import: add subtest to export/import a second gem buffer
Also add a subtest for the fd=handle_to_fd(), fd2=dup(fd), close(fd)
case (idea from Kristian Høgsberg).

Signed-off-by: Imre Deak <imre.deak@intel.com>

v2:
- add a new subtest instead of modifying the original test (Daniel)
- add a new subtest for testing dup (Kristian)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-04-17 22:40:13 +02:00
Ville Syrjälä
918e763e2d tests/gem_tiling_max_stride: Add a test for max fence stride
gem_tiling_max_stride writes a data pattern to an X-tiled buffer using
the maximum supported stride, reads the data back as linear, and
verifies that the data didn't get scrambled on the way.

The test also checks that some invalid stride values are rejected
properly.

v2: Check invalid strides
v3: Check invalid stride with Y-tiling
    Include a few more invalid stride values
    Fix gen3 X-tile size
v4: A few more invalid strides :)
    Drop the useless memset()

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-04-09 20:21:13 +02:00
Daniel Vetter
9535fed171 tests/Makefile.am: gem_fence_trash has grown subtests
Need to move it to the right make target now!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-03-27 12:26:46 +01:00
Kees Cook
c3bfd738c7 tests: add gem_reloc_overflow to check wrapping
This adds a test to make sure that the execbuffer validation routine is
checking for invalid addresses, single entry overflow, and multi-entry
wrapping overflow.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-03-22 12:19:58 +01:00
Ben Widawsky
3a752a3d9a configure: slightly more standard --disable-tests
Cc: Julien Cristau <jcristau@debian.org>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-02-07 10:30:03 -08:00
Chris Wilson
230d77f1d0 tests: Benchmark new API for using a LUT with the execbuffer
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-17 14:31:01 +00:00
Chris Wilson
ec2eac6d7b tests: Exercise new API for using a LUT with the execbuffer
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-17 14:30:43 +00:00
Chris Wilson
2d0a8e8545 tests: Add basic testing of gem_pin
Including exercising races versus interrupts.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-01-07 12:32:56 +00:00
Dave Airlie
71ba0038db intel/udl tests;
basic test to share a BO, add as a udl framebuffer, and call the dirty
ioctl on it so we cause the vmapping to happen

[danvet: Snatched up from Dave's prime branch, ocd name and bikeshed
whitespace a bit.]
2012-12-20 23:31:32 +01:00
Daniel Vetter
d798ab9c2a tests: add testcase to check igt runtime enviroment
Now that we've abandonded the autohell testrunner, need to port this
over. Easiest is to just add another testcase ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-20 11:02:19 +01:00
Ville Syrjälä
f0546374a0 kms_flip: Add -lrt back
kms_flip doesn't build due to missing -lrt.

The build was broken due to a typo in this commit:

commit acdf7171264a5139caabb78127c9eef5080c0682
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sat Dec 15 00:48:47 2012 +0100

    tests: s/flip_test/kms_flip

    OCD wins!

    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

For some reason libudev.pc brings in -lrt as well, which probably
caused the typo to go unnoticed.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-18 16:04:25 +01:00
Daniel Vetter
acdf717126 tests: s/flip_test/kms_flip
OCD wins!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-17 15:30:53 +01:00
Daniel Vetter
c2e05af353 tests/prime_nv_pcopy: convert to subtests
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-15 15:57:20 +01:00
Daniel Vetter
cc4eeb990f tests/prime_nv_tests: convert to subtests
And properly fail the failing ones - bloody hate it when the tests lie
to me ...
2012-12-15 15:30:19 +01:00
Imre Deak
7ab837b214 flip_test: fix link error due to missing -lrt
Needed by clock_gettime(). This isn't a problem if libudev is used,
as that pulles librt with it.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-13 12:52:26 +01:00
Chris Wilson
c0dbf04b05 tests: Add a basic test for tiled render copies
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-06 20:35:28 +00:00
Chris Wilson
3ad92902e1 tests: Add basic test for render blits
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-06 19:51:54 +00:00
Daniel Vetter
53e184b228 tests/gem_dummy_reloc_loop: some updates
- convert to subtests
- shut up stderr output for successful runs

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-05 10:18:03 +01:00
Daniel Vetter
ad5919617c tests: fixup gem_exec_nop subtests
Note to self: No more pushing after 12 o'clock midnight. Not a good
idea, too embarassing.
2012-12-05 07:54:08 +01:00