1217 Commits

Author SHA1 Message Date
Daniel Vetter
36be04bdfb tests/gem_madvise: use correct main block
igt_simple_main doesn't enumerate subtests ...

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-11 23:52:43 +01:00
Daniel Vetter
3514872efe tests/gem_bad_ctx_exec: Properly wrap in igt_fixtures
Caught by the new nasty assert in igt_skip.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-11 23:50:10 +01:00
Daniel Vetter
a86651fa24 tests/gem_close_race: Properly wrap init code in fixtures
Blows up otherwise if there's no intel gpu around.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-11 23:47:50 +01:00
Damien Lespiau
82108d9656 kms_pipe_crc_basic: Remove igt_display_get_n_pipes() usage in main
The fixture won't be run when listing the subtests and thus we can't use
igt_display_get_n_pipes() in the list of tests. The alternative here is
to list the subtests with the maximum values and skip when not supported
on the platform.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 17:51:35 +00:00
Damien Lespiau
2043e6b265 lib: Fix igt_ouput_get_plane() typo (output)
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 17:45:48 +00:00
Damien Lespiau
0d5de66fc6 kms_plane: Start a basic display plane test
We test the sprite plane positionning in there, for now.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
c7e3413a08 kms_pipe_crc_basic: Use kmstest_create_color_fb()
Reducing again the per-test number of lines.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
1d2c9d5e57 lib: Include drm_fourcc.h from igt_kms.h
This include is needed for the DRM_FORMAT* defines used in the fb
creation helpers.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
063194074e kms_cursor_crc: Use kmstest_create_color_fb()
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
1c608a2af8 tests/kms_cursor_crc: Use igt_pipe_crc_collect_crc()
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
d435829ae9 kms_cursor_crc: Port the test to the new modeset API
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
969435a407 tests/kms_cursor_crc: Move the array of cursor fb_ids to the stack
This array is not used outside ouf create_cursor_fb(). A stack allocated
array is enough.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
d39f5a059b kms_pipe_crc_basic: Use igt_display_get_n_pipes() instead of hardcoding 3
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
a260599b6f kms_pipe_crc_basic: Use for_each_connected_output()
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Damien Lespiau
417987353e kms_pipe_crc_basic: Port to the new modeset API
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-11 13:50:16 +00:00
Thomas Wood
01757d052c tests/gem_seqno_wrap: fix over allocation of arrays
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-11 14:35:09 +01:00
Daniel Vetter
a6bc3d91af tests/gem_reset_stats: Correctly wrap global test code
Tests _must_ be able to run as non-root and on non-intel platforms,
otherwise the enumeration is busted (since QA enumerates testcases on
a gpu-less xeon box).

Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-11 12:06:11 +01:00
Daniel Vetter
971c7db2c8 tests/pm_rps: remove setfreq
It's unused.

Cc: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-07 10:03:24 +01:00
Daniel Vetter
ffc481b8ac tests/pm_rps: Round requested freq correctly
The kernel will round it, so if we don't we'll have a spurious
mismatch. Happens on my machine here with 650-1300MHz range, where the
midpoint is 975.

Cc: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-07 10:03:20 +01:00
Daniel Vetter
32b624c71d tests/pm_rps: Fix compilation on Linux
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-06 07:49:33 +01:00
Jeff McGee
2b8d953aa2 pm_rps: New subtest for gpu reset
Test that RPS functions as expected after a gpu reset.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-06 07:47:51 +01:00
Jeff McGee
663d758d91 pm_rps: Add variable load support to load helper
The load helper can be set to HIGH or LOW. HIGH is the original mode
of sending continuous dword store commands. LOW adds a pause between
each command to reduce throughput.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-06 07:47:40 +01:00
Jeff McGee
22dfb0988a pm_rps: Load helper should stall for last write
This ensures that gpu is quiescent when load helper exits.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-06 07:47:23 +01:00
Jeff McGee
2d16e0aad7 pm_rps: Add stop rings injection utility
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-06 07:47:10 +01:00
Jeff McGee
2cbb0fbf5f pm_rps: New subtest min-max-config-loaded
Like subtest basic-api, but additionally requires that current
frequency is increasing to the configured maximum within reasonable
time since we are loaded.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-06 07:46:42 +01:00
Jeff McGee
ceb14b1905 pm_rps: Add load helper for loading gpu
The load helper submits repeated dword store commands to keep the
gpu loaded while subtests running in the parent process check for
expected rps response.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-06 07:46:06 +01:00
Jeff McGee
3bada1626c pm_rps: New subtest min-max-config-idle
Like subtest basic-api, but additionally requires that current
frequency is settling to the configured minimum within reasonable
time since we are idle.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-06 07:45:10 +01:00
Chris Wilson
5c9c8841eb tests: Add gem_madvise
Exercise that calling madvise produces expected results

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-04 17:03:39 +01:00
Daniel Vetter
98952a1f6e fix make distcheck
Bunch of explicit include paths needed adjustments and
eviction_common.c needs to be added to the dist files.

This has been broken in the following three commits:

commit 42bcd05eb3f1545fbf9c397c3f37c3f6a27c5da4
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Mon Feb 3 10:59:41 2014 +0000

    tests/eviction_common: Avoid submitting duplicate objects

commit b92b397d5e4ffe10ed92fb2fc6711758ef5bcf89
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Tue Dec 3 15:09:57 2013 +0000

    build: Make sure asserts are enabled for tests

commit 8c33e9ad111d27b84db4daac43809a807f262632
Author: Ben Widawsky <benjamin.widawsky@intel.com>
Date:   Fri Dec 6 20:35:29 2013 -0800

    intel-gpu-tools: Version informatio

Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-04 13:10:37 +01:00
Tvrtko Ursulin
42bcd05eb3 tests/eviction_common: Avoid submitting duplicate objects
Make sure selection loop does not generate duplicates
when it picks a subset of objects for a single exec buffer.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-04 12:36:57 +01:00
Tvrtko Ursulin
e1dea7e2e1 tests/gem_evict_everything: Factor out eviction logic
In preparation for userptr test we move the eviction logic
into a common file so it can be used from both test cases.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-04 12:36:53 +01:00
Damien Lespiau
d8ea09f24d gem_ring_sync_copy: Add a ring to ring synchronization test
The goal of this test is to ensure that we respect inter ring
dependencies. A more detailed description of what it tests is in a
comment.

The tests relies on having a blit function for the ring, so is currently
only checking synchronization between the render and blitter ring.

v2: Actually create an inter-ring dependency by making the first copy on
ring2 and the second on ring2, not both on ring2.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-04 10:55:42 +00:00
Rafael Barbalho
09bcb0ab4b android: Change tests & tools directory to use the lib directory
Instead of recompiling the lib directory for every tool or tests we can just
re-use the static library. This also has the nice side effect of fixing the
android "mm" command to allow android users to only rebuild the local changes
in either the test or tools directory.

Signed-off-by: Rafael Barbalho <rafael.barbalho@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-04 10:52:15 +00:00
Rafael Barbalho
4c79264b3c android: Clean-up common makefile directives
All the Android.mk files had the same directives to find the path of
libdrm & libpciaccess. These are no longer required as the android system
now allows the libraries being used to export include paths to dependant
modules & programs.

Signed-off-by: Rafael Barbalho <rafael.barbalho@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-02-04 10:52:06 +00:00
Chris Wilson
be22e10885 igt/gem_close_race: Fix blit commands for BDW
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73958
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-29 23:02:50 +00:00
Daniel Vetter
d1b5823ee7 tests/pm_rps: rename basic test to "basic-api"
Jeff plans to add more tests ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-27 23:38:02 +01:00
Jeff McGee
5d26a7e2a2 pm_rps: Make frequency logging more compact
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-27 23:37:50 +01:00
Jeff McGee
88864d2ba5 pm_rps: Remove repeat sysfs reads
Storing values avoids some unnecessary overhead but more importantly
allows all of our processing to be atomic.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-27 23:37:50 +01:00
Jeff McGee
4e3b661b48 pm_rps: Expand on min and max config testing
Add a function that methodically varies min and max to exercise
several valid and invalid combinations. Allow the caller to
define what is to be checked between each step.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-27 23:37:50 +01:00
Chris Wilson
0b4c33f62c igt/gem_concurrent_blit: Scale resource usage to RAM correctly
Note that we use twice the number of buffers, and so we need to restrict
num_buffers appropriately to fit within RAM.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72255
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-01-26 14:38:42 +00:00
Mika Kuoppala
c05c88c2b6 tests/gem_reset_stats: stop only one ring when submitting hang
If we stop all the rings, we can end up blaming the innocent
rings on hangcheck.

Reference: https://bugs.freedesktop.org/show_bug.cgi?id=73652
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-22 09:45:27 +01:00
Ben Widawsky
1bbb607d9f gem_storedw_batches_loop: Fix for pre-BDW
My git failures are truly remarkable. I ended up pushing the wrong
commit here:
commit 1552aa21124cabe762862bb414490510415a2b2d
Author: Ben Widawsky <benjamin.widawsky@intel.com>
Date:   Mon Jan 13 06:28:45 2014 -0800

    gem_storedw_batches_loop: Fix for BDW

This puts the offset of the reloc in the wrong place for pre-BDW

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73866
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2014-01-21 18:03:42 -08:00
Chris Wilson
03d144d16f kms_flip: Try to consume all fences after a flip
As a flip is outstanding, there is an issue that the kernel may not be
able to release one of the fences that userspace requires and erroneous
report EDEADLK (on gen2, gen3).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73696
2014-01-20 20:27:42 +00:00
Daniel Vetter
5b91475130 tests/gem_fd_exhaustion: Make it work
- We need to drop root to actually hit the limits. This requires us to
  fork the actual test since otherwise the exit handlers (which
  require root) fail the entire test.
- Don't assert that the gem create ioctl succeeds, it won't on the
  final run of the loop.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-19 22:24:23 +01:00
Daniel Vetter
71f1f9eafd tests/pm_rps: Add missing static
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-19 22:12:25 +01:00
Daniel Vetter
862de5636f lib: extract igt_drop_root
Useful in other tests.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-19 22:06:48 +01:00
Daniel Vetter
70082e3677 tests: Add gem_fd_exhaustion
Exhausts the system limit on open files and then tries to create
a new shmem-backed gem object. Linus Torvalds reported that this
blows up on a null obj->base.filp, but I can't reproduce this here:

http://lists.freedesktop.org/archives/intel-gfx/2014-January/038433.html

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-19 18:01:24 +01:00
Daniel Vetter
36106004e0 tests: Move pm_rps to the right Makefile target
If it's not in the multi-test target group testrunners won't pick up
on the fact that they need to enumerate subtests first.

Cc: jeff.mcgee@intel.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-19 14:48:07 +01:00
Jeff McGee
7f1c5057cf pm_rps: Fix verbose option and streamline its use
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-18 15:20:56 +01:00
Jeff McGee
d14cd7430b pm_rps: Convert to subtest structure
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-01-18 15:18:58 +01:00