platform/upstream/intel-gpu-tools.git
11 years agoflip_test: recreate fb
Daniel Vetter [Thu, 13 Dec 2012 20:30:43 +0000 (21:30 +0100)]
flip_test: recreate fb

... to test the latency of rmfb, getfb and addfb. Since if those still
can cause spikes, we have a problem.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/flip_test: split out timestamp checks into subtest
Daniel Vetter [Thu, 13 Dec 2012 20:10:58 +0000 (21:10 +0100)]
tests/flip_test: split out timestamp checks into subtest

This way we can still test basic pageflips on kernels with broken
locking while still failing when the timestamps/framecounts are wrong.

Also disable the delay check on analog tv, timings on those ports are
truely screwed-up

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_seqno_wrap.c: include <signal.h> for definition of kill()
Alan Coopersmith [Sun, 16 Dec 2012 18:38:54 +0000 (10:38 -0800)]
tests/gem_seqno_wrap.c: include <signal.h> for definition of kill()

Fixes build failure on Solaris:
gem_seqno_wrap.c: In function ‘run_cmd’:
gem_seqno_wrap.c:328:3: error: implicit declaration of function ‘kill’ [-Werror=implicit-function-declaration]

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/prime_nv_pcopy: convert to subtests
Daniel Vetter [Sat, 15 Dec 2012 14:38:31 +0000 (15:38 +0100)]
tests/prime_nv_pcopy: convert to subtests

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/prime_nv_tests: convert to subtests
Daniel Vetter [Sat, 15 Dec 2012 14:30:19 +0000 (15:30 +0100)]
tests/prime_nv_tests: convert to subtests

And properly fail the failing ones - bloody hate it when the tests lie
to me ...

11 years agotools: intel_gpu_abrt bug report template.
Rodrigo Vivi [Thu, 13 Dec 2012 16:11:24 +0000 (14:11 -0200)]
tools: intel_gpu_abrt bug report template.

checking if file has been generated and output a template for a good bug report

11 years agotools: intel_gpu_abrt checking for root access
Rodrigo Vivi [Thu, 13 Dec 2012 16:11:23 +0000 (14:11 -0200)]
tools: intel_gpu_abrt checking for root access

needed by other igt tools that are collecting more usefull information.

11 years agotools: intel_gpu_abrt collecting more useful info
Rodrigo Vivi [Thu, 13 Dec 2012 16:11:22 +0000 (14:11 -0200)]
tools: intel_gpu_abrt collecting more useful info

11 years agotools: intel_gpu_abrt "get" function
Rodrigo Vivi [Thu, 13 Dec 2012 16:11:21 +0000 (14:11 -0200)]
tools: intel_gpu_abrt "get" function

A function to make it easy to collect any file or directory needed later.

11 years agotests/gem_seqno_wrap: dont sync when crossing half of seqno space
Mika Kuoppala [Thu, 13 Dec 2012 10:43:35 +0000 (12:43 +0200)]
tests/gem_seqno_wrap: dont sync when crossing half of seqno space

For seqno comparison to work they have to be less than UINT32_MAX/2
apart. So when crossing the half way of seqno space, be careful not
to sync anything as this causes gpu hangs. Do real test with
syncing only when we are about to wrap.

v2: Don't spam if no rendercopy was found, only warn once

11 years agoflip_test: fix link error due to missing -lrt
Imre Deak [Fri, 7 Dec 2012 18:30:28 +0000 (20:30 +0200)]
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>
11 years agotests/gem_*_tiled_blits: Use the vma limiter to present address space exhaustion
Chris Wilson [Wed, 12 Dec 2012 14:33:17 +0000 (14:33 +0000)]
tests/gem_*_tiled_blits: Use the vma limiter to present address space exhaustion

References: https://bugs.freedesktop.org/show_bug.cgi?id=58113
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agotests/gem_tiled_pread_pwrite: Allow the kernel to reap the GTT address space
Chris Wilson [Wed, 12 Dec 2012 13:58:04 +0000 (13:58 +0000)]
tests/gem_tiled_pread_pwrite: Allow the kernel to reap the GTT address space

Otherwise we can not run this test on 32-bit systems.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agotests/gem_tiled_swapping: Don't needless crash on 32-bit systems
Chris Wilson [Wed, 12 Dec 2012 13:56:09 +0000 (13:56 +0000)]
tests/gem_tiled_swapping: Don't needless crash on 32-bit systems

Only 32-bit of mmap address space, but with PAE we may be trying to
allocate more than 4 GiB of memory.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agotests/prime_nv_pcopy.c: fail if nouveau_pushbuf_kick fails rather than spinning
Maarten Lankhorst [Tue, 11 Sep 2012 17:01:46 +0000 (19:01 +0200)]
tests/prime_nv_pcopy.c: fail if nouveau_pushbuf_kick fails rather than spinning

11 years agotests: disable gem_exec_bad_domains/conflicting-write-domain
Daniel Vetter [Fri, 7 Dec 2012 22:34:23 +0000 (23:34 +0100)]
tests: disable gem_exec_bad_domains/conflicting-write-domain

Kernel checks have been eased in

commit c1f093e09c4ceb583b04d11e767bb3201812e4d2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Dec 3 11:49:07 2012 +0000

    drm/i915: Remove check for conflicting relocation write-domains

11 years agotests: Add a basic test for tiled render copies
Chris Wilson [Thu, 6 Dec 2012 20:36:24 +0000 (20:36 +0000)]
tests: Add a basic test for tiled render copies

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agoImplement a working gen7 rendercopy
Chris Wilson [Thu, 6 Dec 2012 17:18:52 +0000 (17:18 +0000)]
Implement a working gen7 rendercopy

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57825
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agotests: Add basic test for render blits
Chris Wilson [Thu, 6 Dec 2012 19:32:14 +0000 (19:32 +0000)]
tests: Add basic test for render blits

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agopci: Search for the first Intel GPU, rather than assume a fixed slot
Chris Wilson [Thu, 6 Dec 2012 12:16:12 +0000 (12:16 +0000)]
pci: Search for the first Intel GPU, rather than assume a fixed slot

Everywhere else we search for a match based on an Intel display
device, so if the quick check of the fixed slot fails, fallback to
walking the PCI bus looking for a match.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agotests/gem_exec_nop: implemented correct SKIP reporting
Daniel Vetter [Wed, 5 Dec 2012 18:29:11 +0000 (19:29 +0100)]
tests/gem_exec_nop: implemented correct SKIP reporting

I think I need a testsuite for test writing.

11 years agotests/gem_dummy_reloc_loop: some updates
Daniel Vetter [Wed, 5 Dec 2012 09:09:08 +0000 (10:09 +0100)]
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>
11 years agotests: fixup gem_exec_nop subtests
Daniel Vetter [Wed, 5 Dec 2012 03:16:38 +0000 (04:16 +0100)]
tests: fixup gem_exec_nop subtests

Note to self: No more pushing after 12 o'clock midnight. Not a good
idea, too embarassing.

11 years agotests: run no-op batches on all rings
Daniel Vetter [Tue, 4 Dec 2012 16:13:05 +0000 (17:13 +0100)]
tests: run no-op batches on all rings

For Ben ...

11 years agotests: add gem_seqno_wrap
Mika Kuoppala [Tue, 4 Dec 2012 17:43:13 +0000 (19:43 +0200)]
tests: add gem_seqno_wrap

This test uses debugfs entry to set next_seqno close
to a wrapping point and then creates a load with dependant
buffer objects or with specified command to induce the wrap.

v2: Use new get_rendercpy_func as suggested by Daniel Vetter.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoREADME: piglit requires results-file for testruns
Daniel Vetter [Tue, 4 Dec 2012 09:42:15 +0000 (10:42 +0100)]
README: piglit requires results-file for testruns

Noticed by Mika.

11 years agotests/Makefile.am: Add a comment about the subtest infrastructure
Daniel Vetter [Tue, 4 Dec 2012 09:37:55 +0000 (10:37 +0100)]
tests/Makefile.am: Add a comment about the subtest infrastructure

11 years agoREADME: add quick howto for using piglit as testrunner
Daniel Vetter [Tue, 4 Dec 2012 09:34:46 +0000 (10:34 +0100)]
README: add quick howto for using piglit as testrunner

11 years agotests/gem_flink: check flink lifetime rules
Daniel Vetter [Sat, 1 Dec 2012 12:07:45 +0000 (13:07 +0100)]
tests/gem_flink: check flink lifetime rules

flink names may not be destroyed while there's still a userspace
handle around. Test this by
- exporting an flink name from fd2
- open a gem bo from that name in fd
- close fd2, then open a new drm file (so that the original handle
  disappears)
- check whether the same flink name still works

11 years agotests/gem_exec_bad_domains: add more bad domains
Daniel Vetter [Fri, 30 Nov 2012 23:51:53 +0000 (00:51 +0100)]
tests/gem_exec_bad_domains: add more bad domains

- mulitple write domains
- conflicting write domains
- not-yet-defined gpu domains

Also convert to subtests while at it.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotools/intel_reg_dumper: add some cpt/ppt debug regs
Daniel Vetter [Fri, 30 Nov 2012 23:52:24 +0000 (00:52 +0100)]
tools/intel_reg_dumper: add some cpt/ppt debug regs

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_stress: prevent segfault in getopt parsing
Daniel Vetter [Thu, 29 Nov 2012 14:01:09 +0000 (15:01 +0100)]
tests/gem_stress: prevent segfault in getopt parsing

Needs a terminal element in the long option array.

11 years agolib: extract get_render_copyfunc
Daniel Vetter [Thu, 29 Nov 2012 13:59:57 +0000 (14:59 +0100)]
lib: extract get_render_copyfunc

Otherwise we won't update all the tests if we add new render
copyfuncs.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: disable gem_non_secure_batch
Daniel Vetter [Thu, 29 Nov 2012 10:27:32 +0000 (11:27 +0100)]
tests: disable gem_non_secure_batch

Seems to cause hangs on some of my old gen2/3 machines, but not all of
them.

11 years agotests/gem_tiled_partial_pwrite_pread: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 12:25:12 +0000 (13:25 +0100)]
tests/gem_tiled_partial_pwrite_pread: convert to subtest infrastructure

11 years agotests/gem_tiled_partial_pwrite_pread: refactor subtests into functions
Daniel Vetter [Wed, 28 Nov 2012 12:22:39 +0000 (13:22 +0100)]
tests/gem_tiled_partial_pwrite_pread: refactor subtests into functions

11 years agotests/gem_set_tiling_vs_blt: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 12:10:26 +0000 (13:10 +0100)]
tests/gem_set_tiling_vs_blt: convert to subtest infrastructure

11 years agotests/gem_ringfill: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 12:08:20 +0000 (13:08 +0100)]
tests/gem_ringfill: convert to subtest infrastructure

11 years agotests/gem_partial_pwrite_pread: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 12:08:07 +0000 (13:08 +0100)]
tests/gem_partial_pwrite_pread: convert to subtest infrastructure

11 years agotests/gem_partial_pwrite_pread: refactor subtests into functions
Daniel Vetter [Wed, 28 Nov 2012 11:47:26 +0000 (12:47 +0100)]
tests/gem_partial_pwrite_pread: refactor subtests into functions

This was a too big mess.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_mmap_gtt: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 11:40:23 +0000 (12:40 +0100)]
tests/gem_mmap_gtt: convert to subtest infrastructure

11 years agotests: re-enable gem_hangcheck_forcewak
Daniel Vetter [Wed, 28 Nov 2012 11:38:00 +0000 (12:38 +0100)]
tests: re-enable gem_hangcheck_forcewak

Was accidentally disable in ab3f4bdafe60dede32a48674ef9920df090bf3a7

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_gtt_concurrent_blit: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 11:35:03 +0000 (12:35 +0100)]
tests/gem_gtt_concurrent_blit: convert to subtest infrastructure

Same treatment as for gem_cpu_concurrent_blit.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_flink: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 11:17:40 +0000 (12:17 +0100)]
tests/gem_flink: convert to subtest infrastructure

11 years agotests/gem_cs_tlb: convert to subtests
Daniel Vetter [Wed, 28 Nov 2012 11:09:58 +0000 (12:09 +0100)]
tests/gem_cs_tlb: convert to subtests

Again required a bit of shuffling to avoid expensive setup and some
logic to properly handling 'skip' when only running a subtest.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_cpu_concurrent_blt: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 11:00:33 +0000 (12:00 +0100)]
tests/gem_cpu_concurrent_blt: convert to subtest infrastructure

Small changes to avoid expensive setup just to print out the subtest
list, and setting up the source buffers such that "early-read" works
without having run "overwrite-soure" right beforehand.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_cacheing: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 10:41:33 +0000 (11:41 +0100)]
tests/gem_cacheing: convert to subtest infrastructure

11 years agotests/gem_basic: convert to subtest infrastructure
Daniel Vetter [Wed, 28 Nov 2012 10:16:44 +0000 (11:16 +0100)]
tests/gem_basic: convert to subtest infrastructure

11 years agotests/flip_test: use subtest infrastructure
Daniel Vetter [Tue, 27 Nov 2012 19:33:15 +0000 (20:33 +0100)]
tests/flip_test: use subtest infrastructure

To make the testnames easier to handle in scripts, replace all
spaces with dashes.

The important part is to not print anything to stdout when enumerating
subtests, so protect the timestamp test with the right check.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: subtest infrastructure
Daniel Vetter [Tue, 27 Nov 2012 19:03:25 +0000 (20:03 +0100)]
lib/drmtest: subtest infrastructure

To make these helpers as least invasive as possible simply initialize
the options with a getopt parser and let the control flow be steered
with a simple helper which gets the subtest name as an argument.

The only tricky part for using it is that the subtest check helper
doubles up as the conduit to enumerate tests (and in that mode
prevents any test from being run). It is therefore important that
nothing gets printed to stdout outside of these checks.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: dont polute stderr if the test succeeds/skips
Daniel Vetter [Tue, 27 Nov 2012 19:04:15 +0000 (20:04 +0100)]
tests: dont polute stderr if the test succeeds/skips

Results in spurious 'warn' results in piglit. Also don't print
progress indicators when not outputting to a terminal.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: remove ZZ_check_dmesg from runner
Daniel Vetter [Tue, 27 Nov 2012 15:38:43 +0000 (16:38 +0100)]
tests: remove ZZ_check_dmesg from runner

This is getting in the way of piglit integration. If we want this
functionality again, we should integrate it into the IGT piglit runner
as an option.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: infrastructure for piglit runner
Daniel Vetter [Wed, 28 Nov 2012 10:08:31 +0000 (11:08 +0100)]
tests: infrastructure for piglit runner

Piglit needs a way to grab the latest list of tests to run, so add new
make targets to dump those. Note that for future extendability we'll
dump 2 different lists, one for single-testcase tests and one for
testcases with enumerable subcases. Some support code for the later
will follow in subsequent patches.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotestdisplay: Use the fb stride when painting the color key
Damien Lespiau [Tue, 27 Nov 2012 19:14:05 +0000 (19:14 +0000)]
testdisplay: Use the fb stride when painting the color key

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55901

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: add gem_non_secure_batch
Daniel Vetter [Sun, 25 Nov 2012 12:55:55 +0000 (13:55 +0100)]
tests: add gem_non_secure_batch

11 years agoflip_test: switch to using monotonic timestamps (v2)
Imre Deak [Thu, 22 Nov 2012 14:46:36 +0000 (16:46 +0200)]
flip_test: switch to using monotonic timestamps (v2)

Since monotonic timestamps are now the preferred time format, change
timestamps checks to compare against monotonic instead of real time.
Also add two tests for DRM's compatibility mode where it returns real
timestamps.

v2: drop the tests for the compatibilty mode (Daniel)

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: use monotonic time to measure the test duration
Imre Deak [Thu, 22 Nov 2012 13:25:05 +0000 (15:25 +0200)]
flip_test: use monotonic time to measure the test duration

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: skip check for last_received_ts for the first event
Imre Deak [Thu, 22 Nov 2012 13:25:04 +0000 (15:25 +0200)]
flip_test: skip check for last_received_ts for the first event

The old way worked too, but just skipping the test for the first event
is more logical/simpler thing to do.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: add wf-vblank test for expired sequence
Imre Deak [Tue, 23 Oct 2012 09:07:52 +0000 (12:07 +0300)]
flip_test: add wf-vblank test for expired sequence

In v2:
- Wait for the seq that just completed (current_seq) not last_seq - 1.
- Do an equality check for ts and seq instead of >=. The previous
  issue didn't let us do this before.
- Simplify the condition when we do an "expired sequence" check by
  only using the last flip event as a reference.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: add comment about the race between flip vs. vblank events
Imre Deak [Mon, 22 Oct 2012 17:40:07 +0000 (20:40 +0300)]
flip_test: add comment about the race between flip vs. vblank events

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: check if the vblank and flip states correlate
Imre Deak [Mon, 22 Oct 2012 17:40:06 +0000 (20:40 +0300)]
flip_test: check if the vblank and flip states correlate

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: fixup zero timestamp for premature vblanks
Imre Deak [Mon, 22 Oct 2012 17:40:05 +0000 (20:40 +0300)]
flip_test: fixup zero timestamp for premature vblanks

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: increase duration for vbl+flip tests with ts check
Imre Deak [Mon, 22 Oct 2012 17:40:04 +0000 (20:40 +0300)]
flip_test: increase duration for vbl+flip tests with ts check

We need a big enough duration, so the hotplug event's affect doesn't
distort our final frame count too much.

Without this these tests will exit with a "dropped frames" error.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_cs_tlb: make it more robust
Daniel Vetter [Thu, 18 Oct 2012 20:37:20 +0000 (22:37 +0200)]
tests/gem_cs_tlb: make it more robust

... using a fine roll of duct-tape. Dunno what exactly leaks out from
the previous testcase, but the bo gets moved about a bit and makes the
self-check of the test fail.

11 years agoflip_test: check whether wait_vblank fails when it should
Daniel Vetter [Wed, 17 Oct 2012 09:09:13 +0000 (11:09 +0200)]
flip_test: check whether wait_vblank fails when it should

11 years agoflip_test: drop vblank vs. pan
Daniel Vetter [Tue, 16 Oct 2012 22:35:43 +0000 (00:35 +0200)]
flip_test: drop vblank vs. pan

pageflip vs. pan is interesting since we wait for outstanding flips
before updating the fb base address. For vblank absolutely nothing
interesting happens.

11 years agoflip_test: tune test-durations a bit
Daniel Vetter [Tue, 16 Oct 2012 22:34:43 +0000 (00:34 +0200)]
flip_test: tune test-durations a bit

15 seconds for timestamp checkers (to at least hit the dreaded hotplug
once), 5 seconds for fast tests that check every vblank something, 30
for slow test (dpms/modeset cycles).

11 years agoflip_test: add wait-for-vblank tests
Imre Deak [Tue, 16 Oct 2012 02:43:19 +0000 (05:43 +0300)]
flip_test: add wait-for-vblank tests

Signed-off-by: Imre Deak <imre.deak@intel.com>
[danvet: add {} for multi-line but single-statement if block.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: add check to see if any event has occured
Imre Deak [Tue, 16 Oct 2012 01:11:43 +0000 (04:11 +0300)]
flip_test: add check to see if any event has occured

At the moment select() would time out in case we don't get any event.
When we add vblank events in a later patch, it's possible that we
receive one type of events but not the other type. In this case select()
doesn't time out and we need another way to detect this.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: add event sequence number tracking
Imre Deak [Tue, 16 Oct 2012 01:09:43 +0000 (04:09 +0300)]
flip_test: add event sequence number tracking

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: add logic to track pending events
Imre Deak [Mon, 15 Oct 2012 22:47:15 +0000 (01:47 +0300)]
flip_test: add logic to track pending events

When we add the vblank tests later, it can happen that one type of event
is pending while we are servicing another. Prepare for that by
maintaining a pending/completed event mask.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: make page flip tests conditional
Imre Deak [Mon, 15 Oct 2012 22:47:15 +0000 (01:47 +0300)]
flip_test: make page flip tests conditional

Since later we want to add vblank tests where we don't want to flip,
make the flips and corresponding state checks conditional.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: unify the name of the current test in status messages
Imre Deak [Mon, 15 Oct 2012 18:18:40 +0000 (21:18 +0300)]
flip_test: unify the name of the current test in status messages

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: store the pipe id in the test context obj
Imre Deak [Mon, 15 Oct 2012 18:15:18 +0000 (21:15 +0300)]
flip_test: store the pipe id in the test context obj

For DRM_IOCTL_WAIT_VBLANK we'll have to pass the pipe id - as opposed to
the crtc id required by the rest of the IOCTLs we use.

Thanks for Chris Wilson for pointing this out.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: don't skip checks for sequence #1
Imre Deak [Tue, 16 Oct 2012 13:18:08 +0000 (16:18 +0300)]
flip_test: don't skip checks for sequence #1

So far we skipped some tests for seq#0 and #1, since at that point we
were missing the 'last' state against which we could compare the current
state. Since in the previous patches we fixed the ordering in the test
loop and moved the increment of count to the update state phase, we have
a proper 'last' state for seq#1, so enable the tests already at that
point.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: factor out the event state
Imre Deak [Mon, 15 Oct 2012 17:37:01 +0000 (20:37 +0300)]
flip_test: factor out the event state

Factor out the status vars that are specific to the flip events into a
separate structure. This will allow us tracking the vblank events with
the same code.

We move the increment of the flip event counter to the end of the test
loop, but this shouldn't affect anything. This is the only functional
change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: swap the order of check state/run test step
Imre Deak [Mon, 15 Oct 2012 23:41:02 +0000 (02:41 +0300)]
flip_test: swap the order of check state/run test step

At the moment we first check the state then run the test step in our
test loop. Swapping the order makes the starting state of each iteration
better defined, allowing an easier extension of these steps in the
future.

Since now it's guaranteed that we exit the event loop with no pending
flips, we can also get rid of the final flushing of events.

We don't want the first initializing flip to affect the test loop other
than setting an initial FB, so before starting the test loop wait for it
to complete by calling wait_for_events() and leave the flip event
counter at zero.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: split the flip handler into logical parts
Imre Deak [Mon, 15 Oct 2012 23:37:15 +0000 (02:37 +0300)]
flip_test: split the flip handler into logical parts

The handler consits of handle_event/run_test/check_state/update_state
logical steps, split the function accordingly. This is needed by the
following patches that need to do part of these steps for both flip and
vblank events.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: store current flip/received timestamps in the context obj
Imre Deak [Mon, 15 Oct 2012 23:26:35 +0000 (02:26 +0300)]
flip_test: store current flip/received timestamps in the context obj

This is needed by the next patch that splits the flip handler function
into logical parts. Make the timestamps accesible to these parts.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: factor out the final state check
Imre Deak [Tue, 16 Oct 2012 02:50:22 +0000 (05:50 +0300)]
flip_test: factor out the final state check

Needed by an upcoming patch where we want to make a final state check
for both the flip and vblank events.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: factor out the event loop/wait for event logic
Imre Deak [Fri, 12 Oct 2012 10:31:25 +0000 (13:31 +0300)]
flip_test: factor out the event loop/wait for event logic

Needed by an upcoming patch where we want to wait for an event without
starting a new round of test run.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: move output panning inside the flip_handler
Imre Deak [Wed, 10 Oct 2012 11:47:51 +0000 (14:47 +0300)]
flip_test: move output panning inside the flip_handler

Move the panning to a more logical place where the rest of the test
steps are performed. As Daniel Vetter pointed it out, the proper place
is _after_ the flip command is sent, so that fb_set_base correctly waits
for any outstanding flip. So move the function between the flip and the
dpms/modeset off calls.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: store fb width, height in test context object
Imre Deak [Wed, 10 Oct 2012 09:01:28 +0000 (12:01 +0300)]
flip_test: store fb width, height in test context object

We will need these in event handlers, so store them where the handlers
have access to them.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agoflip_test: factor out drmModePageFlip
Imre Deak [Tue, 16 Oct 2012 14:34:41 +0000 (17:34 +0300)]
flip_test: factor out drmModePageFlip

For better readability and to prepare for the upcoming patch marking
pending flip events with a flag.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotest_flip: fix checking for delayed event reception
Imre Deak [Tue, 16 Oct 2012 14:34:39 +0000 (17:34 +0300)]
test_flip: fix checking for delayed event reception

The intent for the time limit seems to be 2ms, but the current condition
will result in a 1s limit and makes the check against tv_usec redundant.
Fix the condition to check for a 2ms limit.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: check drmHandleEvents()' return value
Imre Deak [Tue, 16 Oct 2012 14:34:38 +0000 (17:34 +0300)]
flip_test: check drmHandleEvents()' return value

Signed-off-by: Imre Deak <imre.deak@intel.com>
[danvet: s/assert/do_or_die]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: reset the state for each test run
Imre Deak [Tue, 16 Oct 2012 14:34:37 +0000 (17:34 +0300)]
flip_test: reset the state for each test run

Each test run needs a clean state.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoflip_test: free FBs after each test run
Imre Deak [Tue, 16 Oct 2012 14:34:36 +0000 (17:34 +0300)]
flip_test: free FBs after each test run

Though the FBs will be freed implicitly at process exit, with the
growing number of test cases it's probably better not to let them
accumulate and free them as soon as we can.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agodrmtest: add function to remove an DRM FB
Imre Deak [Tue, 16 Oct 2012 14:34:35 +0000 (17:34 +0300)]
drmtest: add function to remove an DRM FB

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agosysfs_rps: Add negative test case for bad values
Ben Widawsky [Mon, 15 Oct 2012 17:05:56 +0000 (10:05 -0700)]
sysfs_rps: Add negative test case for bad values

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agolib/mmio: gen2 has a bigger register window, too
Daniel Vetter [Fri, 12 Oct 2012 08:45:52 +0000 (10:45 +0200)]
lib/mmio: gen2 has a bigger register window, too

It's split up into two parts, with the gtt pte range in between.
Without this I couldn't read the ADPA register ...

11 years agofix warn in testdisplay: ignoring return value of 'chdir'
Imre Deak [Wed, 10 Oct 2012 13:04:45 +0000 (16:04 +0300)]
fix warn in testdisplay: ignoring return value of 'chdir'

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agofix warn in prime_nv_*: ignoring return value of ‘fgets’
Imre Deak [Wed, 10 Oct 2012 13:04:44 +0000 (16:04 +0300)]
fix warn in prime_nv_*: ignoring return value of ‘fgets’

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agofix warn in gem_reg_read: 'read' shadows a global declaration
Imre Deak [Wed, 10 Oct 2012 13:04:43 +0000 (16:04 +0300)]
fix warn in gem_reg_read: 'read' shadows a global declaration

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agofix warn in sysfs_{rc6, rps}*: ignoring return value of 'fscanf'
Imre Deak [Wed, 10 Oct 2012 13:04:42 +0000 (16:04 +0300)]
fix warn in sysfs_{rc6, rps}*: ignoring return value of 'fscanf'

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agofix warn in gem_readwrite: 'read/write' shadows a global declaration
Imre Deak [Wed, 10 Oct 2012 13:04:41 +0000 (16:04 +0300)]
fix warn in gem_readwrite: 'read/write' shadows a global declaration

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agofix warn in intel_reg_snapshot: ignoring return value of 'write'
Imre Deak [Wed, 10 Oct 2012 13:04:40 +0000 (16:04 +0300)]
fix warn in intel_reg_snapshot: ignoring return value of 'write'

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agofix warn in intel_error_decode: ignoring return value of 'asprintf'
Imre Deak [Wed, 10 Oct 2012 13:04:39 +0000 (16:04 +0300)]
fix warn in intel_error_decode: ignoring return value of 'asprintf'

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agofix warn: 'div' shadows a global declaration
Imre Deak [Wed, 10 Oct 2012 13:04:38 +0000 (16:04 +0300)]
fix warn: 'div' shadows a global declaration

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_exec_big: fixups
Daniel Vetter [Tue, 9 Oct 2012 20:47:59 +0000 (22:47 +0200)]
tests/gem_exec_big: fixups

- don't emit a self-modifying batch, the kernel doesn't like those
- also change the buffer size, to exercise all corner-cases of the
  sg_table stuff