757 Commits

Author SHA1 Message Date
Daniel Vetter
590f610140 lib/drmtest: extract rawer __gem_set_tiling
For tests that expect failures. Also apply the existing gem_set_tiling
helper a bit wider.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-09 20:50:50 +02:00
Ben Widawsky
40599b0779 pwrite_pread: Get devid only once
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-10-08 20:47:28 -07:00
Ben Widawsky
a2925b0989 pwrite_pread: Extract batch building
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-10-08 20:47:26 -07:00
Ben Widawsky
41ae28e498 pwrite_pread: use execbuf.batch_len for size
This will make an upcoming change easier.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-10-08 20:33:41 -07:00
Ben Widawsky
96f665cabb gem_tiled_blits: Squash bo leak on simulation
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-10-08 20:32:12 -07:00
Ben Widawsky
f75dec0b41 gem_tiled_blits: Squash memory leak on simulation
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-10-08 18:36:32 -07:00
Daniel Vetter
304c458d54 tests/kms_flip: Skip if no clone configuration could be found
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-07 22:55:14 +02:00
Daniel Vetter
ae599546fa tests/pc8: Fail harder
If the test enviroment isn't properly set up we should fail the
testcase, since otherwise there's no way to make sure a feature
actually works.

To cut down on bug triaging time extract the basic test (which was
previously used to skip all subtests) into a "basic" subtest.

Also fail the test hard if the msr interface isn't available. And
switch all other check in setup_enviroment to igt_require.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69838
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-04 19:59:03 +02:00
Daniel Vetter
3dc91f3242 tests/pc8+: Only skip i2c subtest if i2c /dev interface is unavailable
Through the magic of igt_skip we only need to fail this subtest, not
the entire thing.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-04 19:58:11 +02:00
Daniel Vetter
37e5b318c5 tests/kms_flip: use igt_assert more
I've left the time delta checks as-is since those are tricky math and
my mind is feeble.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-04 18:42:26 +02:00
Daniel Vetter
54b5f7251a tests/kms_flip: check flip count in both directions
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-04 18:12:39 +02:00
Chris Wilson
b53f22cee7 tests: Simulate missed breadcrumb irqs
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-10-04 09:54:21 +01:00
Daniel Vetter
16b61932bb tests/kms_flip: use igt_assert in the dpms helpers
No need to route the error code around really.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-03 22:45:53 +02:00
Daniel Vetter
0b19cb5dc2 tests/kms_flip: Check the dpms confusion
Some kernels inadvertedly forwarded dpms changes to crtcs connected to
shared encoders even though that specific output wasn't enabled.
Hilarity ensued.

Note that we only have shared encoders on hsw (DP+HDMI) and with sdvo
cards (multi-function encoders).

v2: Do a full OFF->ON->OFF transition to make sure something actually
happens.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-10-03 22:31:11 +02:00
Daniel Vetter
1f0addb689 tests/kms_flip: scale test runtime
On machines with many outputs and many crtcs it takes too long.
So scale the runtime by the number of output combinations we're trying
to light up.

Compensate the test runtime a bit by doubling most subtests' duration.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-30 22:55:12 +02:00
Daniel Vetter
3f89d5403e tests/kms_flip: fail harder
At least for pipe A/B we should always fail the test if we can't light
up the preferred mode - the kernel should filter out impossible modes
and for our hw pipe A/B are the least constrained.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-30 22:55:12 +02:00
Damien Lespiau
6de613f8e5 testdisplay: Print the stereo mode being tested
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
e836b60d37 testdisplay: Make -o and -3 work together
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
8393bb41a1 testdisplay: Remove mode resetting now that we don't adjust the timings
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
c128b731dc testdisplay: Respect specified_disp_id in the stereo loop
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
28cf66de94 testdisplay: Remove printing out the eyes geometry
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
a7d1937cd7 testdisplay: Use DRM_MODE_FLAG_3D_MASK
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
578c1cefc9 testdisplay: Remove the timing adjustements now that the kernel does it
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
9a8fda7a4a testdisplay: Test the stereo 3D modes
Now that modes have flags to describe which 3d formats the sink
supports, it's time to test them.

The new test cycles through the supported 3D formats and paint 3D
stereoscopic images taken from publicly available samples:
  http://www.quantumdata.com/apps/3D/sample_BMP.asp

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
951b37e2d0 testdisplay: Provide a full path when opening pngs
This way one doesn't have to be in tests/ for testsdisplay to be able to
open pass.png.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
5d99634913 testdisplay: Free the array of connectors
That's an array we allocated earlier in this function. Let's be symetric
and free it once done.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
66477a230f testdisplay: Untangle dump_info() from the main testing loop
-i is just supposed to show some information about the DRM resources.
Right now it works in a quite convoluted way. Untangle this to call
dump_info() when -i is given, exit the program and be done with it.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:22 +01:00
Damien Lespiau
b9db1a6a96 testdisplay: Fix CRTS typo
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:21 +01:00
Damien Lespiau
eecd0061eb testdisplay: Properly handle the life cycle of framebuffers
When cycling through the modes, let's make sure to free the previous
framebuffers. This is the perfect occasion to use kmstest_remove_fb().

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:21 +01:00
Damien Lespiau
5a1d84300b testdisplay: Map the fb inside paint_color_key()
So the code for this is self-contained. This goes along the way of
reducing the number of global variables in testdisplay.

Take the opportunity to unmap the fb after use as well.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:21 +01:00
Damien Lespiau
0396273972 testdisplay: Move the code sanitizing depth into main()
It'll be shared by the set_mode() and set_3d_mode() functions.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:21 +01:00
Damien Lespiau
9edaf7fa73 testdisplay: Add left/right images of a lovely scene
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-09-30 18:04:21 +01:00
Damien Lespiau
05493f736d testdisplay: Distribute pass.png 2013-09-30 18:04:20 +01:00
Daniel Vetter
76dfa9195a tests/gem_evict_everything: tune down forked subtests
On new machines with gobloads of memory and cpu cores, but slow swap
on spinning rust we need to limit the runtime a bit for sanity.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-30 16:04:38 +02:00
Daniel Vetter
f3c54d0cb4 tests: use igt_assert/igt_require more
With the new _f variants we can replace almost all of them.

Also remove a ton of checks for argc != 1, they're a bit useless ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-25 14:37:07 +02:00
Paulo Zanoni
6020b951df tests/pc8: fix supports_pc8_plus_residencies
Bug caused by bad copy+paste+replace.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2013-09-23 16:17:41 -03:00
Ben Widawsky
bfa7a5906d intel_l3_parity: Support error injection
Haswell added the ability to inject errors which is extremely useful for
testing. Add two arguments to the tool to inject, and uninject.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-09-20 09:42:07 -07:00
Ben Widawsky
a9cd76b36e intel_l3_parity: Use getopt for the l3 parity tool
Add new command line arguments in addition to supporting the old
features. This patch only introduces one feature, the -e argument to
enable a specific row/bank/subbank. Previously you could only enable
all. Otherwise, it has what you expect (we prefer -r -b -s for
specifying the row/bank/subbank).

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2013-09-20 09:42:07 -07:00
Daniel Vetter
64cfe4eefe lib/drmtest: Improve printf-like igt_skip_on/require
Ben Widawsky suggested to use vasprintf, which perfectly fits the bill.

Also fix the logic conversion bug in tests/gem_storedw_batches_loop that
crept in again :(

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-19 19:56:03 +02:00
Daniel Vetter
e5cdd62624 lib/drmtest: igt_assert|require with format strings
v2: Add a comment about the pitfalls around va_list handling.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-19 19:40:32 +02:00
Daniel Vetter
b352512953 tests/gem_stored_batches_loop: use igt_assert more
Terser code ftw!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-19 15:51:33 +02:00
Daniel Vetter
867b1a51a6 tests/gem_reloc_overflow: New subtest for overflowing buffer_count
Luckily everything seems to be fine.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-19 11:01:14 +02:00
Daniel Vetter
bf6f166035 tests/gem_reloc_overflow: Extract reloc_tests
I'll be adding more stuff soon ;-)

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-19 10:20:46 +02:00
Daniel Vetter
0a587e24b7 tests/gem_storedw_batches_loop: Add testcase to check secure dispatch
v2: Use the mrb_exec function since otherwise we can't pass flags.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-18 18:37:10 +02:00
Daniel Vetter
195f04c300 tests/gem_persistent_relocs: Tune down the test a bit
Takes too long.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-17 00:13:47 +02:00
Daniel Vetter
31139f6b8f tests/gem_fenced_exec_thrash: Add interruptible and busy-load subtests
Usual progression for gem tests up the nasty-scale.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-17 00:13:47 +02:00
Daniel Vetter
7b3634364a tests/gem_fenced_exec_thrash: New subtests that uses all fences
igt runs under the assumption that nothing else (besides maybe fbcon)
is using the gpu. So we should be able to use all fences.

Keep the conservative testcase around though in case someone has a
broken setup.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-17 00:13:47 +02:00
Daniel Vetter
14e12b8008 tests/*: scrap get_num_fences
Just use gem_available_fences directly.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-17 00:13:47 +02:00
Daniel Vetter
9298dfabd9 lib: add test for igt_fork_signal_helper
If we're really fast we've trying to stop the signal helper again
we somehow race somewhere and it'll never happen. So add a testcase for
this. Since I expect more to come for testsuite tests add a separate
make target for them. Run tests with

$ make check

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-13 16:48:08 +02:00
Daniel Vetter
1978aecf1d tests/gem_persisten_relocs: Update like gem_reloc_vs_pug
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-09-11 14:03:47 +02:00