Damien Lespiau [Thu, 6 Feb 2014 21:06:25 +0000 (21:06 +0000)]
lib/display: Add a way to wait at every commit for inspection
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 21:06:07 +0000 (21:06 +0000)]
lib: Add a helper to wait for a keypress
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 19:10:51 +0000 (19:10 +0000)]
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>
Damien Lespiau [Thu, 6 Feb 2014 19:09:53 +0000 (19:09 +0000)]
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>
Damien Lespiau [Thu, 6 Feb 2014 19:04:58 +0000 (19:04 +0000)]
kms_cursor_crc: Use kmstest_create_color_fb()
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 19:04:12 +0000 (19:04 +0000)]
lib: Introduce a new helper kmstest_create_color_fb()
We need to create fbs of a single color in a few places. Time to
abstract that out to a helper function.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 17:54:33 +0000 (17:54 +0000)]
lib/display: Add support for DRM planes
We can now extend our plane support beyond primary and cursor planes.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 16:26:31 +0000 (16:26 +0000)]
tests/kms_cursor_crc: Use igt_pipe_crc_collect_crc()
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 16:17:38 +0000 (16:17 +0000)]
lib/crc: Add a helper to read a single CRC value
In this case, we also take care of starting/stopping the CRC collection.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 16:17:14 +0000 (16:17 +0000)]
lib/crc: Factor out reading a single CRC value
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 16:05:19 +0000 (16:05 +0000)]
lib/display: Check if we're trying to use the same pipe on 2 outputs
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Wed, 5 Feb 2014 17:51:50 +0000 (17:51 +0000)]
lib/display: Allow to override the display verbosity with an env variale
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Wed, 5 Feb 2014 17:14:12 +0000 (17:14 +0000)]
kms_cursor_crc: Port the test to the new modeset API
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Thu, 6 Feb 2014 15:45:42 +0000 (15:45 +0000)]
lib/display: Add a way to specify we don't care about the pipe to use
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Wed, 5 Feb 2014 16:36:51 +0000 (16:36 +0000)]
lib/display: Add support for the cursor plane
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Wed, 5 Feb 2014 15:54:13 +0000 (15:54 +0000)]
lib/display: Fix the SetCrtc disabling log message
We were displaying the value of fb_id (0), when the actual interesting
thing about this call it that it'll just down the pipe.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Wed, 5 Feb 2014 15:32:15 +0000 (15:32 +0000)]
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>
Damien Lespiau [Tue, 4 Feb 2014 15:11:29 +0000 (15:11 +0000)]
kms_pipe_crc_basic: Use igt_display_get_n_pipes() instead of hardcoding 3
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Tue, 4 Feb 2014 14:59:39 +0000 (14:59 +0000)]
lib/display: Add an accessor to retrieve the number of pipes
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Tue, 4 Feb 2014 12:07:56 +0000 (12:07 +0000)]
kms_pipe_crc_basic: Use for_each_connected_output()
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Tue, 4 Feb 2014 12:06:57 +0000 (12:06 +0000)]
lib: Introduce a for_each_connected_output() macro
So we can easily cycle through them in tests without knowing too many
internal details about how igt_display_t organize its data.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Sun, 2 Feb 2014 17:48:24 +0000 (17:48 +0000)]
lib: Introduce symbolic names for display planes
It'd be nice to have symbolic names for planes instead of using an index
in igt_output_get_plane().
We also namespace the enum to not conflict with anyone.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Mon, 27 Jan 2014 16:32:09 +0000 (16:32 +0000)]
kms_pipe_crc_basic: Port to the new modeset API
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Damien Lespiau [Mon, 27 Jan 2014 16:25:43 +0000 (16:25 +0000)]
lib: Introduce a modeset API
The goals here are:
- Reduce duplicated code in each KMS test
- Provide an API that looks more like what we want for atomic
modesets. The hope is then that it'll be easy to switch, at
run-time, between the "legacy" path and atomic modesets, keeping
the same API for tests.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Thomas Wood [Fri, 7 Feb 2014 17:03:39 +0000 (17:03 +0000)]
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>
Thomas Wood [Fri, 7 Feb 2014 17:03:38 +0000 (17:03 +0000)]
assembler: fix condition for printing a warning
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Thomas Wood [Fri, 7 Feb 2014 17:03:37 +0000 (17:03 +0000)]
debugger: fix the -p option
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Tue, 11 Feb 2014 11:14:09 +0000 (12:14 +0100)]
lib/drmtest: Fix up skip_henceforth checks
We need to first check whether we'll even run the testcase before
deciding to print a premature SKIP/FAIL. Without this and global
skipped resulted in superflous output when running only one testcase.
References: https://bugs.freedesktop.org/show_bug.cgi?id=74100
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Tue, 11 Feb 2014 11:04:57 +0000 (12:04 +0100)]
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>
Daniel Vetter [Fri, 7 Feb 2014 09:02:41 +0000 (10:02 +0100)]
tests/pm_rps: remove setfreq
It's unused.
Cc: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Fri, 7 Feb 2014 08:59:42 +0000 (09:59 +0100)]
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>
Thomas Wood [Thu, 6 Feb 2014 16:31:54 +0000 (16:31 +0000)]
lib: fix signed/unsigned comparison issues
Store the result of set_vt_mode as a signed value so that errors can be
caught correctly.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Thomas Wood [Thu, 6 Feb 2014 16:23:42 +0000 (16:23 +0000)]
assembler: define YY_NO_INPUT to prevent unused symbol warnings
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Thu, 6 Feb 2014 06:49:33 +0000 (07:49 +0100)]
tests/pm_rps: Fix compilation on Linux
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Jeff McGee [Fri, 31 Jan 2014 16:13:53 +0000 (10:13 -0600)]
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>
Jeff McGee [Fri, 31 Jan 2014 16:13:52 +0000 (10:13 -0600)]
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>
Jeff McGee [Fri, 31 Jan 2014 16:13:51 +0000 (10:13 -0600)]
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>
Jeff McGee [Fri, 31 Jan 2014 16:13:50 +0000 (10:13 -0600)]
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>
Jeff McGee [Wed, 29 Jan 2014 00:25:06 +0000 (18:25 -0600)]
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>
Jeff McGee [Wed, 29 Jan 2014 00:25:05 +0000 (18:25 -0600)]
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>
Jeff McGee [Wed, 29 Jan 2014 00:25:04 +0000 (18:25 -0600)]
lib/drmtest: Add igt_wait_helper
igt_wait_helper compliments igt_stop_helper and is used when helper
processes are expected to exit naturally.
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Jeff McGee [Wed, 29 Jan 2014 00:25:03 +0000 (18:25 -0600)]
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>
Imre Deak [Wed, 5 Feb 2014 11:48:26 +0000 (13:48 +0200)]
lib/drmtest: fix hang in quiescent_gpu_at_exit due to signal-unsafe asprintf
I got kms_flip in hung state with the backtrace below, while the parent process
waiting for the signal helper to exit. It was quite easy to reproduce the bug
by running
kms_flip --run-subtest=flip-vs-dpms-off-vs-modeset
With the change I couldn't reproduce it.
TODO: audit/fix other signal handlers with signal-unsafe functions
0 0x00007f9a1362018b in ?? () from /lib/x86_64-linux-gnu/libc.so.6
1 0x00007f9a1359df81 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
2 0x00007f9a1359b6cf in ?? () from /lib/x86_64-linux-gnu/libc.so.6
3 0x00007f9a13628eb6 in __vasprintf_chk () from /lib/x86_64-linux-gnu/libc.so.6
4 0x00007f9a13628e72 in __asprintf_chk () from /lib/x86_64-linux-gnu/libc.so.6
5 0x000000000040a4a2 in asprintf (__fmt=0x417441 "/dev/dri/card%u", __ptr=0x7fff1a972c08)
at /usr/include/x86_64-linux-gnu/bits/stdio2.h:178
6 drm_get_card () at drmtest.c:190
7 0x000000000040a54a in __drm_open_any () at drmtest.c:229
8 0x000000000040a846 in quiescent_gpu_at_exit (sig=<optimized out>) at drmtest.c:281
9 0x0000000000408759 in call_exit_handlers (sig=3) at drmtest.c:1519
10 fatal_sig_handler (sig=3) at drmtest.c:1543
11 <signal handler called>
12 0x00007f9a13596770 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
13 0x00007f9a135d8f3f in fork () from /lib/x86_64-linux-gnu/libc.so.6
14 0x000000000040b3af in __igt_fork_helper (proc=0x61d8cc <signal_helper>) at drmtest.c:1199
15 0x000000000040b4ce in igt_fork_signal_helper () at drmtest.c:751
16 0x0000000000404167 in main (argc=<optimized out>, argv=<optimized out>) at kms_flip.c:1533
v2:
- can't use snprintf as that's also signal-unsafe, so just use a dup'ed fd (Chris,Daniel)
Signed-off-by: Imre Deak <imre.deak@intel.com>
Chris Wilson [Tue, 4 Feb 2014 14:14:31 +0000 (14:14 +0000)]
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>
Daniel Vetter [Tue, 4 Feb 2014 12:10:37 +0000 (13:10 +0100)]
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>
Tvrtko Ursulin [Mon, 3 Feb 2014 10:59:41 +0000 (10:59 +0000)]
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>
Tvrtko Ursulin [Mon, 3 Feb 2014 10:59:40 +0000 (10:59 +0000)]
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>
Damien Lespiau [Wed, 29 Jan 2014 15:53:33 +0000 (15:53 +0000)]
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>
Rafael Barbalho [Fri, 31 Jan 2014 14:57:40 +0000 (14:57 +0000)]
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>
Rafael Barbalho [Fri, 31 Jan 2014 14:57:39 +0000 (14:57 +0000)]
android: Add the generation of vesion.h & config.h to lib
The lib directory is used by all the tests & tools so it should really be
the place where the generate files are created.
Signed-off-by: Rafael Barbalho <rafael.barbalho@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Rafael Barbalho [Fri, 31 Jan 2014 14:57:38 +0000 (14:57 +0000)]
android: Add makefile for the lib directory
The lib directory should really be compiled as a static library on its own
and be re-used by any tests or tools that require it.
Signed-off-by: Rafael Barbalho <rafael.barbalho@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Rafael Barbalho [Fri, 31 Jan 2014 14:57:37 +0000 (14:57 +0000)]
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>
Rafael Barbalho [Fri, 31 Jan 2014 14:57:36 +0000 (14:57 +0000)]
android: Handle the case when android doesn't have mmap64
Not all versions of Android have the mmap64 call, thus a suitable alternative
must be called.
Signed-off-by: Rafael Barbalho <rafael.barbalho@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Ben Widawsky [Fri, 31 Jan 2014 05:33:56 +0000 (05:33 +0000)]
quick_dump/broadwell: Add gen7 ring mode registers
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Fri, 31 Jan 2014 05:31:07 +0000 (05:31 +0000)]
quick_dump/haswell: Add gen7 stuff + VECS_MODE
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Fri, 31 Jan 2014 05:29:27 +0000 (05:29 +0000)]
quick_dump/gen7: Add other GFX_MODE registers
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Fri, 31 Jan 2014 04:46:06 +0000 (04:46 +0000)]
quick_dump: Add a file argument
-f, or --file will simply dump the file in the specified format. All
other options will be skipped. This is helpful when one wants to create
their own list for temporary debug, or if one requires a subset of
registers to work around things like fused off PCH.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Fri, 31 Jan 2014 04:42:50 +0000 (04:42 +0000)]
quick_dump: Refactor to allow future code
Extract everything possible, and create a main function which is pretty
darn simple. The goal is to make the various paths the program can take
based on command line options (one more is coming) more decipherable.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Chris Wilson [Fri, 31 Jan 2014 16:56:01 +0000 (16:56 +0000)]
lib: Capture errno on entry
When printing the errno, it is important that we capture the user errno
before we make any library calls - as they may alter the value.
References: https://bugs.freedesktop.org/show_bug.cgi?id=74007
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson [Wed, 29 Jan 2014 22:59:57 +0000 (22:59 +0000)]
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>
Jesse Barnes [Tue, 28 Jan 2014 22:17:30 +0000 (14:17 -0800)]
iosf: make iosf_rw take a larger addr
For higher DPIO ranges for example. Also fix it up to use
intel_register_read/write.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Jesse Barnes [Tue, 28 Jan 2014 21:58:55 +0000 (13:58 -0800)]
dpio: make dpio reg read/write output like normal reg read/write output
Just for consistency.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Jesse Barnes [Tue, 28 Jan 2014 21:58:23 +0000 (13:58 -0800)]
mmio: drop unused i915_loaded fn
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Jesse Barnes [Tue, 28 Jan 2014 21:46:38 +0000 (13:46 -0800)]
mmio: use intel_iosf.c for DPIO reads and writes
This makes it a bit more like the kernel, so we can go poke at DPIO and
other IOSF regs a bit more easily.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Daniel Vetter [Mon, 27 Jan 2014 22:38:02 +0000 (23:38 +0100)]
tests/pm_rps: rename basic test to "basic-api"
Jeff plans to add more tests ...
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Jeff McGee [Tue, 21 Jan 2014 23:14:33 +0000 (17:14 -0600)]
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>
Jeff McGee [Tue, 21 Jan 2014 23:14:32 +0000 (17:14 -0600)]
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>
Jeff McGee [Tue, 21 Jan 2014 23:14:31 +0000 (17:14 -0600)]
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>
Jesse Barnes [Mon, 27 Jan 2014 18:43:02 +0000 (10:43 -0800)]
NEWS: update with nomodeset register access change
Jesse Barnes [Mon, 27 Jan 2014 18:26:57 +0000 (10:26 -0800)]
quick_dump: more vlv dpio regs
Jesse Barnes [Mon, 27 Jan 2014 18:26:05 +0000 (10:26 -0800)]
mmio: allow register init even if debugfs isn't available and i915 isn't loaded
This lets us dump regs even if modeset=0 for example.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Chris Wilson [Sun, 26 Jan 2014 14:36:32 +0000 (14:36 +0000)]
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>
Chris Wilson [Thu, 23 Jan 2014 21:50:36 +0000 (21:50 +0000)]
intel_error_decode: Protect against missing ring registers
A dodgy kernel may miss printing out the ring registers leading to a
FPE.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Tvrtko Ursulin [Wed, 22 Jan 2014 10:41:05 +0000 (10:41 +0000)]
tools: Allow building on Android after noinst_PROGRAMS is not defined any more
Looks like filter-out macro gets silently unhappy about an undefined variable.
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Mika Kuoppala [Tue, 21 Jan 2014 15:40:08 +0000 (17:40 +0200)]
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>
Ben Widawsky [Wed, 22 Jan 2014 02:03:42 +0000 (18:03 -0800)]
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>
Chris Wilson [Mon, 20 Jan 2014 15:57:16 +0000 (15:57 +0000)]
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
Ben Widawsky [Mon, 20 Jan 2014 18:40:23 +0000 (10:40 -0800)]
quick_dump/watermarks: lp3, misc and debug
I forgot to git add this originally.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Sat, 18 Jan 2014 04:32:01 +0000 (20:32 -0800)]
quick_dump/broadwell: Use haswell_other
For now, the power controls and watermarks seem to be the same offsets.
So just reuse haswell_other.txt
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Sat, 18 Jan 2014 04:26:54 +0000 (20:26 -0800)]
quick_dump/hsw: Watermark debug
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Sat, 18 Jan 2014 04:10:46 +0000 (20:10 -0800)]
quick_dump: Allow comments in the register files
Simple addition to the parser to add the following full line comments:
{';', '#', "//"}
Empty lines will also be ignored
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Sat, 18 Jan 2014 03:35:22 +0000 (19:35 -0800)]
quick_dump: Fix the indentation
Fix the spaces to use [the python standard] 4 soft spaces for tabe.
While here, add the proper vim tag so we don't do it again.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Sat, 18 Jan 2014 04:16:55 +0000 (20:16 -0800)]
.gitignore: Add pycache
quick_dump which is python, generates files in __pycache__ which are the
moral equivalent of object files. Don't let people add them to the index
accidentally.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Daniel Vetter [Sun, 19 Jan 2014 21:15:13 +0000 (22:15 +0100)]
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>
Daniel Vetter [Sun, 19 Jan 2014 21:13:36 +0000 (22:13 +0100)]
lib: add __gem_create
Useful for when a gem_create ioctl is expected to fail.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sun, 19 Jan 2014 21:12:25 +0000 (22:12 +0100)]
tests/pm_rps: Add missing static
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sun, 19 Jan 2014 21:11:47 +0000 (22:11 +0100)]
debugger: avoid global variable shadowing
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sun, 19 Jan 2014 21:06:48 +0000 (22:06 +0100)]
lib: extract igt_drop_root
Useful in other tests.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Sun, 19 Jan 2014 17:01:24 +0000 (18:01 +0100)]
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>
Daniel Vetter [Sun, 19 Jan 2014 13:48:07 +0000 (14:48 +0100)]
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>
Jeff McGee [Fri, 17 Jan 2014 22:56:06 +0000 (16:56 -0600)]
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>
Jeff McGee [Fri, 17 Jan 2014 22:56:05 +0000 (16:56 -0600)]
pm_rps: Convert to subtest structure
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Jeff McGee [Fri, 17 Jan 2014 22:56:04 +0000 (16:56 -0600)]
pm_rps: Add read back checking on sysfs writes
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Fri, 17 Jan 2014 06:42:22 +0000 (07:42 +0100)]
tools: Install them all
No reason really not too, especially since we install manpages for
some of them.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66656
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Wed, 15 Jan 2014 22:59:52 +0000 (23:59 +0100)]
tests/gem_gtt_hog: Use igt_simple_main
Results in the compiler complaining about wrong exits and return values.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter [Wed, 15 Jan 2014 22:58:50 +0000 (23:58 +0100)]
tests/primve_nv_pcopy: Comment out unused check_swizzle function
I've botched this in my patch to disable the swizzled pcopy test.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Chris Wilson [Wed, 15 Jan 2014 10:40:40 +0000 (10:40 +0000)]
gem_gtt_hog: use a normal exit()
Since we don't execute any subtests, using igt_exit leads to
inconsistent behaviour. In the future, this may be converted.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73641
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Robert Beckett [Tue, 14 Jan 2014 18:01:38 +0000 (18:01 +0000)]
igt: tests/Android.mk: fix LOCAL_PATH usage
Fix usage of shared variable LOCAL_PATH in deferred variable expansion area.
In Makefile language, rule and dependency definitions use immediate
expansions of variables, so they get expanded as soon as the rule is
created (1st pass). Rule implementation (a.k.a recipe) use deferred
expansion (2nd pass).
Android effectively makes all Android.mk files a single makefile by
including them all in a big tree from the toplevel makefile. The rules
are all evaluated in the first pass and targets are generated. Then the
2nd pass happens and the required target's recipes are run. At this
point, LOCAL_PATH has been assigned the value from the last evaluated
Android.mk in the 1st phase that defined LOCAL_PATH (most Android.mk use
this variable). In my particular case, it was the bootloader's
Android.mk that was evaluated last and had defined LOCAL_PATH to it's
path. The errors are rather misleading due to it looking like a bug in
another module's Android.mk rather than this one :)
Basically, if you want to use a variable that any other Android.mk
defines, then you can only use it in an immediate expansion context,
not a deferred expansion context as it will likely be re-defined by
the time the 2nd pass happens.
This patch stores it in a unique variable that should not be being
used by other Android.mk files. An alternative fix would be to use $@
and $< as the files in question are target and dependency, but I never
like using those as they can easily break if dependencies are added
etc. I prefer variable to be explicitly named to make them obvious.
See gnu make manual for explanation of deferred vs immediate
expansion of variables :
http://www.gnu.org/software/make/manual/make.html#Reading-Makefiles
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Robert Beckett <robert.beckett@intel.com>
Mika Kuoppala [Fri, 10 Jan 2014 15:24:17 +0000 (17:24 +0200)]
tests/gem_reset_stats: run tests on all rings
Run all relevant tests on all rings.
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Mika Kuoppala [Fri, 10 Jan 2014 15:24:16 +0000 (17:24 +0200)]
tests/gem_reset_stats: split ctx tests
Split context related tests from non-context ones
and cleanup the naming.
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>