platform/upstream/intel-gpu-tools.git
11 years agos/drmtest_/igt_/
Daniel Vetter [Mon, 12 Aug 2013 10:17:35 +0000 (12:17 +0200)]
s/drmtest_/igt_/

Requested-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agos/drmtest_subtest_block/drmtest_subtest/
Daniel Vetter [Mon, 12 Aug 2013 10:15:16 +0000 (12:15 +0200)]
s/drmtest_subtest_block/drmtest_subtest/

The _block postfix meant to convey that a C statement/block must
follow can be misread as the verb to block. So drop it.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: __ prefix for drmtest_run_subtest
Daniel Vetter [Mon, 12 Aug 2013 09:57:32 +0000 (11:57 +0200)]
lib/drmtest: __ prefix for drmtest_run_subtest

Now that callers must setup the longjmp target (we can't do that in
run_subtest itself since that callframe won't survive) tests shouldn't
call this function directly any more.

Make this clear by adding a __ prefix.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/intel_mmio: Remove unused label
Daniel Vetter [Mon, 12 Aug 2013 08:46:55 +0000 (10:46 +0200)]
lib/intel_mmio: Remove unused label

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: use drmtest_skip to check for rings
Daniel Vetter [Mon, 12 Aug 2013 09:03:29 +0000 (11:03 +0200)]
tests: use drmtest_skip to check for rings

To simplify things add a set of gem_check_<ring> functions which take
care of this. Since I've opted for static inlines drmtest.h grew a few
more header includes which was a neat opportunity to dump a few redundant
#defines.

This kills all the skipped_all hand-rolled logic we have.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: use drmtest_skip() in caching ioctl helpers
Daniel Vetter [Mon, 12 Aug 2013 08:43:59 +0000 (10:43 +0200)]
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>
11 years agolib/drmtest: make signal process cleanup more robust
Daniel Vetter [Mon, 12 Aug 2013 08:39:33 +0000 (10:39 +0200)]
lib/drmtest: make signal process cleanup more robust

If we skip a test and and fail somewhere the parent might die before the
child. So add some cleanup to handle this case. Also make sure that the
parent indeed waits for the child to die.

This is required to make the latest version of the piglit runner happy,
it tends to wait for all zombies to disappear.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_caching: convert to use drmtest retval infrastructure
Daniel Vetter [Mon, 12 Aug 2013 07:49:25 +0000 (09:49 +0200)]
tests/gem_caching: convert to use drmtest retval infrastructure

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: skip/fail handling
Daniel Vetter [Mon, 12 Aug 2013 07:31:55 +0000 (09:31 +0200)]
lib/drmtest: skip/fail handling

Exitcode handling in igt testcases has too ugly facets in combination
with subtests:

- When individual subtest needed to be skipped for different reasons
  we need to painstakingly thread this information through the test to
  make sure that we still succeed if just one testcase worked (for
  running it with the simple automake test runner in igt). But it also
  needs to correctly report the skip exit value if only this one
  skipped testcase has been run (e.g. when run with piglit or in QA's
  test infrastructure).

- We'd prefer to easily skip (and also fail) subtests without
  hampering other subtests. Again threading the return value of each
  subtest through the code is cumbersome.

To simplify test case writing use longjmps to be able to get out of
subcases easily. But since longjmps are funny things thug it all away
into the newly added drmtest_subtest_block macro.

Note that if drmtest_skip is called outside of a subtest, but in a
testcase with subtests all subsequent subtests will be automatically
skipped.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: Add drmtest_subtest_block macro
Daniel Vetter [Mon, 12 Aug 2013 07:04:24 +0000 (09:04 +0200)]
lib/drmtest: Add drmtest_subtest_block macro

Doesn't do more than an if (drmtest_run_test(name)) right now, but
as soon as we get a bit of infrastructure to handle test failures and
skipping, this will get more interesting.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: s/cacheing/caching
Daniel Vetter [Mon, 12 Aug 2013 06:41:05 +0000 (08:41 +0200)]
tests: s/cacheing/caching

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agogem_pwrite: Print the cache name not the number
Chris Wilson [Mon, 12 Aug 2013 07:39:26 +0000 (08:39 +0100)]
gem_pwrite: Print the cache name not the number

Bugzilla: https://bugzilla.freedesktop.org/show_bug.cgi?id=68003

11 years agoExpand gem_set_cacheing testing to handle the proposed DISPLAY domain
Chris Wilson [Sat, 10 Aug 2013 14:49:33 +0000 (15:49 +0100)]
Expand gem_set_cacheing testing to handle the proposed DISPLAY domain

11 years agointel_error_decode: First try /sys/drm/card0/error for the error-state
Chris Wilson [Wed, 7 Aug 2013 22:41:54 +0000 (23:41 +0100)]
intel_error_decode: First try /sys/drm/card0/error for the error-state

As the sysfs is almost always mounted and readable, we have a higher
success rate checking for our error state there than in debugfs.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agotests/prime_self_import: fix comment
Daniel Vetter [Wed, 7 Aug 2013 12:54:00 +0000 (14:54 +0200)]
tests/prime_self_import: fix comment

11 years agotests/prime_self_import: Fixup previuos test
Daniel Vetter [Wed, 7 Aug 2013 16:36:31 +0000 (18:36 +0200)]
tests/prime_self_import: Fixup previuos test

... not a great display of my prowess here.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/prime_self_import: Add a flink/dma-buf self-import test
Daniel Vetter [Wed, 7 Aug 2013 16:12:20 +0000 (18:12 +0200)]
tests/prime_self_import: Add a flink/dma-buf self-import test

This checks that we really always fill the dma-buf export cache. Which
sometimes we don't.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: update .gitignore
Daniel Vetter [Wed, 7 Aug 2013 10:01:35 +0000 (12:01 +0200)]
tests: update .gitignore

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_pwrite_pread: subtest annotation
Daniel Vetter [Wed, 7 Aug 2013 09:59:05 +0000 (11:59 +0200)]
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>
11 years agotests: add gem_prw_concurrent_blt
Daniel Vetter [Tue, 6 Aug 2013 20:27:37 +0000 (22:27 +0200)]
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>
11 years agotests/prime_self_import: Add racing handle2fd testcase
Daniel Vetter [Thu, 25 Jul 2013 19:09:43 +0000 (21:09 +0200)]
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>
11 years agotests/gem_flink_race: Kill duplicate drm_open_any
Daniel Vetter [Thu, 25 Jul 2013 20:10:51 +0000 (22:10 +0200)]
tests/gem_flink_race: Kill duplicate drm_open_any

Leak test that leaks ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agogem_pwrite_pread: Use mmap to bypass pwrite/pread for comparison
Chris Wilson [Tue, 6 Aug 2013 17:03:18 +0000 (18:03 +0100)]
gem_pwrite_pread: Use mmap to bypass pwrite/pread for comparison

Just to help sanity test alternate paths.

11 years agogem_pwrite_pread: Measure how long it takes to upload/copy/download
Chris Wilson [Tue, 6 Aug 2013 15:14:59 +0000 (16:14 +0100)]
gem_pwrite_pread: Measure how long it takes to upload/copy/download

Further trying to determine the effects of setting snooping.

11 years agolib: Reset sig_stat after stopping the rude interrupter
Chris Wilson [Tue, 6 Aug 2013 14:48:08 +0000 (15:48 +0100)]
lib: Reset sig_stat after stopping the rude interrupter

11 years agogem_pread: Symmetric measurement to gem_pwrite
Chris Wilson [Tue, 6 Aug 2013 14:18:30 +0000 (15:18 +0100)]
gem_pread: Symmetric measurement to gem_pwrite

11 years agogem_pwrite: Time pwrites to both uncached/snooped memory
Chris Wilson [Tue, 6 Aug 2013 14:12:55 +0000 (15:12 +0100)]
gem_pwrite: Time pwrites to both uncached/snooped memory

11 years agogem_partial_pwrite_pread: Exercise different cacheing of the staging bo
Chris Wilson [Tue, 6 Aug 2013 14:09:50 +0000 (15:09 +0100)]
gem_partial_pwrite_pread: Exercise different cacheing of the staging bo

11 years agogem_pread_after_blit: Exercise reading back through different cache levels
Chris Wilson [Tue, 6 Aug 2013 14:03:40 +0000 (15:03 +0100)]
gem_pread_after_blit: Exercise reading back through different cache levels

11 years agokms_render: fix gpu-blit for non-32bit bpps
Imre Deak [Mon, 29 Jul 2013 14:21:21 +0000 (17:21 +0300)]
kms_render: fix gpu-blit for non-32bit bpps

intel_copy_bo assumes a 32bpp bo, whereas we passed it bos with
arbitrary bpp values. This resulted in thrashing GPU memory following the
destination bo.

Fix this by using a blit helper that can handle other bpps too.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agolib: export drm_format_to_bpp
Imre Deak [Mon, 29 Jul 2013 14:19:58 +0000 (17:19 +0300)]
lib: export drm_format_to_bpp

Needed by the next patch.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agointel_batchbuffer: add support for non-32bit blt copies
Imre Deak [Mon, 29 Jul 2013 13:43:31 +0000 (16:43 +0300)]
intel_batchbuffer: add support for non-32bit blt copies

Needed by an upcoming patch fixing kms_render's blits for fbs that have
other than 32bpp formats.

Based on the corresponding SNA function.

v2:
- fix random ordering of src, dst parameters (Chris)
- pass pitch in bytes rather than pixels (Chris)

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agolib/intel_mmio: Fix the fixed fix (register access)
Ben Widawsky [Sat, 27 Jul 2013 22:30:41 +0000 (15:30 -0700)]
lib/intel_mmio: Fix the fixed fix (register access)

When I moved code around here:
commit 57bc7631e161a7bdcf7f68e1a46049dcb49c2256
Author: Ben Widawsky <ben@bwidawsk.net>
Date:   Thu May 23 11:09:55 2013 -0700

    lib/intel_mmio: Fix the fix

I accidently dropped the intel_gen() for the PCI id.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67289
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agotests/sysfs_edid_timing: use real bash
Daniel Vetter [Thu, 25 Jul 2013 19:51:27 +0000 (21:51 +0200)]
tests/sysfs_edid_timing: use real bash

The lib/drm_lib.sh load path trick doesn't work otherwise. Tsk.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_flink_race: correct thread count
Daniel Vetter [Wed, 24 Jul 2013 15:04:35 +0000 (17:04 +0200)]
tests/gem_flink_race: correct thread count

They all race against each another, no worker-slave relationship
like in the other subtest.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_flink_race: fix up scanf format
Daniel Vetter [Wed, 24 Jul 2013 15:01:11 +0000 (17:01 +0200)]
tests/gem_flink_race: fix up scanf format

Oops, failed to git add.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_flink_race: actually make it somewhat useful
Daniel Vetter [Wed, 24 Jul 2013 07:46:57 +0000 (09:46 +0200)]
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>
11 years agoRevert "tests/gem_flink_race: count leaked objects"
Daniel Vetter [Wed, 24 Jul 2013 07:31:40 +0000 (09:31 +0200)]
Revert "tests/gem_flink_race: count leaked objects"

This reverts commit bd927662fcfb1443c5982fb04cc694f78e1c8d53.

It's bogus.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_flink_race: check for expected flink failure code
Daniel Vetter [Wed, 24 Jul 2013 06:01:35 +0000 (08:01 +0200)]
tests/gem_flink_race: check for expected flink failure code

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_flink_race: count leaked objects
Daniel Vetter [Wed, 24 Jul 2013 05:37:45 +0000 (07:37 +0200)]
tests/gem_flink_race: count leaked objects

And fail the test if the leak count is bigger than 0.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_flink_race: kill debug printf
Daniel Vetter [Wed, 24 Jul 2013 04:55:10 +0000 (06:55 +0200)]
tests/gem_flink_race: kill debug printf

Oops.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: add gem_flink_race
Daniel Vetter [Tue, 23 Jul 2013 21:14:57 +0000 (23:14 +0200)]
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>
11 years agolib/drmtest: add gem_flink and gem_open
Daniel Vetter [Tue, 23 Jul 2013 20:43:30 +0000 (22:43 +0200)]
lib/drmtest: add gem_flink and gem_open

Requires us to rename a few things in the gem_flink test to avoid
variable shadowing.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: sort tests in Makefile.am and .gitignore
Daniel Vetter [Tue, 23 Jul 2013 19:07:16 +0000 (21:07 +0200)]
tests: sort tests in Makefile.am and .gitignore

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_suspend: exercise fence restore code
Daniel Vetter [Mon, 22 Jul 2013 07:24:43 +0000 (09:24 +0200)]
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>
11 years agolib/drmtest: document interface groups with one-liners
Daniel Vetter [Fri, 19 Jul 2013 17:08:43 +0000 (19:08 +0200)]
lib/drmtest: document interface groups with one-liners

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: Basic tools tester
Ben Widawsky [Thu, 11 Jul 2013 16:59:46 +0000 (09:59 -0700)]
tests: Basic tools tester

Requested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agotest/gem_pread_after_blit: Make the test a little more stressful
Chris Wilson [Sat, 20 Jul 2013 09:20:52 +0000 (10:20 +0100)]
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.

11 years agotests: Source drm_lib.sh instead of having its own INTEL_SIMULATION test
Damien Lespiau [Fri, 19 Jul 2013 16:01:55 +0000 (17:01 +0100)]
tests: Source drm_lib.sh instead of having its own INTEL_SIMULATION test

One code path to maintain is always better.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agotests: Allow a shell test to declare it doesn't need to be DRM master
Damien Lespiau [Fri, 19 Jul 2013 16:08:57 +0000 (17:08 +0100)]
tests: Allow a shell test to declare it doesn't need to be DRM master

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agolib: Allow users of env_set() to specify a default value
Damien Lespiau [Fri, 19 Jul 2013 14:42:20 +0000 (15:42 +0100)]
lib: Allow users of env_set() to specify a default value

So when the environment value isn't set, one can specify the default
value to return.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agobuild: Pimp up the configure summary
Damien Lespiau [Fri, 19 Jul 2013 15:08:11 +0000 (16:08 +0100)]
build: Pimp up the configure summary

This helps people compiling i-g-t figuring out what can be optional.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agobuild: Fix automake 1.13 warnings
Damien Lespiau [Fri, 19 Jul 2013 15:07:18 +0000 (16:07 +0100)]
build: Fix automake 1.13 warnings

warning: deprecated feature: target 'sr' overrides 'sr$(EXEEXT)'

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agobuild: Fix unbalanced quoting in the python dumper AC_ARG_ENABLE()
Damien Lespiau [Fri, 19 Jul 2013 15:03:49 +0000 (16:03 +0100)]
build: Fix unbalanced quoting in the python dumper AC_ARG_ENABLE()

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agobuild: Fix a small typo in configure.ac
Damien Lespiau [Fri, 19 Jul 2013 15:03:29 +0000 (16:03 +0100)]
build: Fix a small typo in configure.ac

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agolib/drmtest: fix const mismatch warning
Daniel Vetter [Fri, 19 Jul 2013 16:24:59 +0000 (18:24 +0200)]
lib/drmtest: fix const mismatch warning

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: add reloc, pread, pwrite slow path subtest
Xiong Zhang [Fri, 19 Jul 2013 10:42:52 +0000 (18:42 +0800)]
tests: add reloc, pread, pwrite slow path subtest

the reloc, pread, pwrite slow path will be prevented by prefault,
these subtests will disable prefault first, then do reloc, pread,
pwrite, finally enable prefault.

Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
11 years agolib/drmtest: add drmtest_disable/enable_prefault() function
Xiong Zhang [Fri, 19 Jul 2013 10:42:51 +0000 (18:42 +0800)]
lib/drmtest: add drmtest_disable/enable_prefault() function

V2: add exit handler to enable prefault (Daniel)

Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
11 years agotests: Add some tiled tests to the runs on simulation
Damien Lespiau [Thu, 18 Jul 2013 11:23:49 +0000 (12:23 +0100)]
tests: Add some tiled tests to the runs on simulation

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agotests: Instrument gem_seqno_wrap to run in simulation
Damien Lespiau [Thu, 18 Jul 2013 10:53:55 +0000 (11:53 +0100)]
tests: Instrument gem_seqno_wrap to run in simulation

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agotests: Instrument gem_lut_handle for simulation
Damien Lespiau [Thu, 18 Jul 2013 10:36:56 +0000 (11:36 +0100)]
tests: Instrument gem_lut_handle for simulation

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agotests: Instrument tests run in simulation to run quickly
Damien Lespiau [Mon, 25 Mar 2013 20:06:20 +0000 (20:06 +0000)]
tests: Instrument tests run in simulation to run quickly

We tweak the tests marked as runnable in simulation to run more quickly,
more often then not at the expense of stress testing (which is of an
arguable interest for the initial bring up in simulation). Hopefully the
values chosen still test something, which is not always straightforward.

It does run quickly, the number on an IVB machines are:

$ time sudo IGT_SIMULATION=0 ./piglit-run.py tests/igt.tests foo
[...]
real 2m0.141s
user 0m16.365s
sys 1m33.382s

Vs.

$ time sudo IGT_SIMULATION=1 ./piglit-run.py tests/igt.tests foo
[...]
real 0m0.448s
user 0m0.226s
sys 0m0.183s

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agotests: Black list tests we don't want to run on simulation
Damien Lespiau [Mon, 29 Apr 2013 17:40:39 +0000 (18:40 +0100)]
tests: Black list tests we don't want to run on simulation

Let's start by a small set of tests, to eventually consider running
more.

The current list should then be:

gem_mmap
gem_pread_after_blit
gem_ring_sync_loop
gem_ctx_basic
gem_pipe_control_store_loop
gem_storedw_loop_render
gem_storedw_loop_blt
gem_storedw_loop_bsd
gem_render_linear_blits
gem_tiled_blits
gem_cpu_reloc

gem_exec_nop
gem_mmap_gtt

v2 add (Daniel Vetter)
gem_exec_bad_domains
gem_exec_faulting_reloc
gem_flink
gem_reg_read
gem_reloc_overflow
gem_tiling_max_stride
prime_*

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agolib: Remove old dead code intel_batchbuffer_emit_mi_flush()
Damien Lespiau [Thu, 18 Jul 2013 13:49:46 +0000 (14:49 +0100)]
lib: Remove old dead code intel_batchbuffer_emit_mi_flush()

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agolib: Introduce drmtest_skip_on_simulation()
Damien Lespiau [Mon, 29 Apr 2013 15:04:52 +0000 (16:04 +0100)]
lib: Introduce drmtest_skip_on_simulation()

This will allow us to explicitely blacklist tests we don't want to run
on simulation.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agolib: Rename IGT_QUICK to INTEL_SIMULATION
Damien Lespiau [Mon, 25 Mar 2013 17:25:14 +0000 (17:25 +0000)]
lib: Rename IGT_QUICK to INTEL_SIMULATION

It's more accurate this way as the quick mode is really useful for in
the simulation environment.

v2: Use the INTEL_ prefix to have a chance to share the same environment
    variable as piglit OpenGL tests

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agobuild: Depend on cairo 1.12.0 for CAIRO_FORMAT_RGB30
Damien Lespiau [Wed, 17 Jul 2013 15:25:29 +0000 (16:25 +0100)]
build: Depend on cairo 1.12.0 for CAIRO_FORMAT_RGB30

We've somewhat recently added RGB30 support to testdisplay, but we need
cairo 1.12.0 for that. Barf early.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotools/inter_error_decode: decode for ctl and acthd
Mika Kuoppala [Fri, 12 Jul 2013 14:02:04 +0000 (17:02 +0300)]
tools/inter_error_decode: decode for ctl and acthd

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/prime_nv_api: check multiple foreign imports with flink
Daniel Vetter [Mon, 15 Jul 2013 09:55:09 +0000 (11:55 +0200)]
tests/prime_nv_api: check multiple foreign imports with flink

We want prime to only ever create one native gem object for each
dma-buf it sees. This can e.g. happen if multiple processes import the
same foreign dma-buf, e.g. the application imports a yuv frame from
v4l to encode it into a video stream and the compositor imports it
into his fd again to display it with an overlay.

Hence add a bunch of tests which check all the various orders in which
this could happen. Currently they all fail.

Checking flink names is the easiest (and afaik only) way to check
whether we're indeed dealing with the same object.

This checks both ways, i.e. exporting from i915 and from nouveau, each
with two variants of the test: One reuses the prime fd, the other
closes it and creates a new one.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotest/prime_nv_test: use gem drmtest functions for pread/pwrite
Daniel Vetter [Mon, 15 Jul 2013 09:12:31 +0000 (11:12 +0200)]
test/prime_nv_test: use gem drmtest functions for pread/pwrite

Different argument order, otherwise the same.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotest/prime_nv_test: nicer test names
Daniel Vetter [Mon, 15 Jul 2013 09:09:57 +0000 (11:09 +0200)]
test/prime_nv_test: nicer test names

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotest/prime_nv_api: more descriptive subtest names
Daniel Vetter [Mon, 15 Jul 2013 09:04:20 +0000 (11:04 +0200)]
test/prime_nv_api: more descriptive subtest names

Preprocessor magic ftw!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/prime_nv_api: Drop bogus check from import-twice
Daniel Vetter [Mon, 15 Jul 2013 08:59:55 +0000 (10:59 +0200)]
tests/prime_nv_api: Drop bogus check from import-twice

It's purely accidental that importing that same bo to different
drm nouveau fds yields the same handle.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/prime_nv_api: convert to subtest infrastructure
Daniel Vetter [Mon, 15 Jul 2013 08:51:10 +0000 (10:51 +0200)]
tests/prime_nv_api: convert to subtest infrastructure

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_write_ring_switch: Skip on pre-SNB
Chris Wilson [Fri, 12 Jul 2013 09:05:34 +0000 (10:05 +0100)]
tests/gem_write_ring_switch: Skip on pre-SNB

The test requires MI commands only introduced with SNB, and so causes
GPU death on gm45 and ilk.

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

11 years agotests/gem_write_read_ring_switch: Repeat under rude interrupter
Chris Wilson [Fri, 12 Jul 2013 08:54:55 +0000 (09:54 +0100)]
tests/gem_write_read_ring_switch: Repeat under rude interrupter

Another waiter that will then be subject to being interrupted, so retest
the ring switches with the rude interrupter.

11 years agotools/quickdump: gitignore generated files
Daniel Vetter [Wed, 10 Jul 2013 13:35:13 +0000 (15:35 +0200)]
tools/quickdump: gitignore generated files

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: actually add gem_write_read_ring_switch
Daniel Vetter [Wed, 10 Jul 2013 13:34:56 +0000 (15:34 +0200)]
tests: actually add gem_write_read_ring_switch

Duh ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotest: add gem_write_read_ring_switch
Daniel Vetter [Wed, 10 Jul 2013 08:35:10 +0000 (10:35 +0200)]
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>
11 years agotools/intel_reg_dumper: fix up END register
Daniel Vetter [Tue, 9 Jul 2013 21:04:20 +0000 (23:04 +0200)]
tools/intel_reg_dumper: fix up END register

I'm full of fail ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotools/intel_reg_dumper: add gen6+ fences
Daniel Vetter [Tue, 9 Jul 2013 08:46:09 +0000 (10:46 +0200)]
tools/intel_reg_dumper: add gen6+ fences

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agogem_(tiled|linear)_blits: s/interrutible/interruptible/
Chris Wilson [Thu, 4 Jul 2013 00:11:05 +0000 (01:11 +0100)]
gem_(tiled|linear)_blits: s/interrutible/interruptible/

Spelling fix in "interruptible" subtest name.

11 years agotests/kms_flip: don't run blocking relateve vblank waits with interrupts
Daniel Vetter [Wed, 3 Jul 2013 23:50:55 +0000 (01:50 +0200)]
tests/kms_flip: don't run blocking relateve vblank waits with interrupts

They simply take forever with the current kernel implementation. And
since everyone switched over to the event based interface I don't see
much incentive to try to fix that.

So just disable them.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agointel_reg_dumper: enable the power well
Paulo Zanoni [Wed, 3 Jul 2013 17:42:48 +0000 (14:42 -0300)]
intel_reg_dumper: enable the power well

The intel_reg_dumper tool reads a lot of display registers. If we
don't turn on the power well, dmesg will get flooded with tons of
messages about unclaimed registers. So here we enable the "Debug"
power well register and then restore its state later. It's impossible
to guarantee that other things won't mess with the debug register
between our put and get calls, but at least we're trying our best to
keep things working fine, and it's the debug register anyway.

As far as I know, nothing else uses the Debug register for anything,
so we should be safe for now.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
11 years agolib: fix WM_DBG register address
Paulo Zanoni [Wed, 3 Jul 2013 17:13:34 +0000 (14:13 -0300)]
lib: fix WM_DBG register address

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
11 years agointel_reg_dumper: add hsw_debug_lp_wm
Paulo Zanoni [Tue, 7 May 2013 15:53:52 +0000 (12:53 -0300)]
intel_reg_dumper: add hsw_debug_lp_wm

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
11 years agoMake the failure message for drm_open_any() more specific
Chris Wilson [Wed, 3 Jul 2013 09:02:27 +0000 (10:02 +0100)]
Make the failure message for drm_open_any() more specific

Do not suggest retrying as root if we already are.

11 years agoAvoid corrupting the exitcode with a failure to open a quiescent fd
Chris Wilson [Wed, 3 Jul 2013 08:58:28 +0000 (09:58 +0100)]
Avoid corrupting the exitcode with a failure to open a quiescent fd

In the atexit handler, we attempt to quiesce the GPU. This involves
opening a fd - which will fail if the test is not being run as root and
will obliterate the test status and pollute the output.

11 years agotests/gem_linear|tiled_blits: convert to subtests
Daniel Vetter [Wed, 3 Jul 2013 06:47:34 +0000 (08:47 +0200)]
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>
11 years agodrm_lib.sh: Be more precise in detecting the i915 /sys path
Chris Wilson [Wed, 3 Jul 2013 07:10:28 +0000 (08:10 +0100)]
drm_lib.sh: Be more precise in detecting the i915 /sys path

We need to be careful in case other devices grow an error file in the
future. The first step here is just to check the minor that corresponds
with the debugfs path found for the device

11 years agotests/hangman: Be lenient towards a non-existent sysfs error state
Chris Wilson [Wed, 3 Jul 2013 07:00:13 +0000 (08:00 +0100)]
tests/hangman: Be lenient towards a non-existent sysfs error state

As /sys/class/drm/cardX/error is a new interface for 3.11, we need to be
quiet when it does not exist or else we upset the automated tests.

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

11 years agotests/gem_(linear|tiled)_blits: Repeat whilst being interrupted
Chris Wilson [Tue, 2 Jul 2013 10:24:57 +0000 (11:24 +0100)]
tests/gem_(linear|tiled)_blits: Repeat whilst being interrupted

Since these two tests exercise a working set larger than aperture, they
require stalls which are prone to being interrupted - so interrupt them
and check that everything still works.

11 years agotests/drm_lib.sh: Don't die if the sysfs path can't be found
Daniel Vetter [Tue, 2 Jul 2013 07:13:57 +0000 (09:13 +0200)]
tests/drm_lib.sh: Don't die if the sysfs path can't be found

That just means that the sysfs error file isn't there.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotest/drm_lib.sh: Updated sysfs error filename
Daniel Vetter [Tue, 2 Jul 2013 07:09:56 +0000 (09:09 +0200)]
test/drm_lib.sh: Updated sysfs error filename

I've forgotten to bikeshed that part ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/ZZ_hangman: Test both error_state interfaces
Mika Kuoppala [Fri, 28 Jun 2013 11:35:41 +0000 (14:35 +0300)]
tests/ZZ_hangman: Test both error_state interfaces

Test both debugfs and sysfs error_state interfaces.

v2: sysfs error_state not mandatory

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
[danvet: Update sysfs file name.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: add i915_sfs_path
Mika Kuoppala [Thu, 27 Jun 2013 13:54:43 +0000 (16:54 +0300)]
tests: add i915_sfs_path

To access 'error_state' through sysfs.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: rename debugfs base path to be more specific
Mika Kuoppala [Thu, 27 Jun 2013 13:54:42 +0000 (16:54 +0300)]
tests: rename debugfs base path to be more specific

In preparation to have sysfs entries used in scripts
rename to more specific name.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/kms_flip: Repeat all of the tests whilst being rudely interrupted
Chris Wilson [Mon, 1 Jul 2013 11:24:55 +0000 (12:24 +0100)]
tests/kms_flip: Repeat all of the tests whilst being rudely interrupted

Once upon a time, our modesetting code used to fail if it was
interrupted. So lets make sure that never happens whilst flipping.

11 years agoquick_dump: Add VLV DPIO registers
Ville Syrjälä [Wed, 26 Jun 2013 17:57:34 +0000 (20:57 +0300)]
quick_dump: Add VLV DPIO registers

Add the names of all VLV DPIO registers.

v2: Use the third element to signal DPIO registers, and split
    the code changes to a separate patch

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agoquick_dump: Document the register definition format
Ville Syrjälä [Wed, 26 Jun 2013 17:57:33 +0000 (20:57 +0300)]
quick_dump: Document the register definition format

Add a small comment about what the elements in the register
tuple mean.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>