platform/upstream/intel-gpu-tools.git
11 years agotests/gem_reloc_overflow: Extract reloc_tests
Daniel Vetter [Thu, 19 Sep 2013 08:20:46 +0000 (10:20 +0200)]
tests/gem_reloc_overflow: Extract reloc_tests

I'll be adding more stuff soon ;-)

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_storedw_batches_loop: Add testcase to check secure dispatch
Daniel Vetter [Wed, 18 Sep 2013 16:28:18 +0000 (18:28 +0200)]
tests/gem_storedw_batches_loop: Add testcase to check secure dispatch

v2: Use the mrb_exec function since otherwise we can't pass flags.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_persistent_relocs: Tune down the test a bit
Daniel Vetter [Mon, 16 Sep 2013 20:45:14 +0000 (22:45 +0200)]
tests/gem_persistent_relocs: Tune down the test a bit

Takes too long.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_fenced_exec_thrash: Add interruptible and busy-load subtests
Daniel Vetter [Thu, 12 Sep 2013 14:18:10 +0000 (16:18 +0200)]
tests/gem_fenced_exec_thrash: Add interruptible and busy-load subtests

Usual progression for gem tests up the nasty-scale.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: check that igt_exit is called for subtest tests
Daniel Vetter [Thu, 12 Sep 2013 14:17:33 +0000 (16:17 +0200)]
lib/drmtest: check that igt_exit is called for subtest tests

I get this wrong for almost every conversion to subtests ...

v2: Don't install the check when just listing subtest names.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_fenced_exec_thrash: New subtests that uses all fences
Daniel Vetter [Thu, 12 Sep 2013 12:38:13 +0000 (14:38 +0200)]
tests/gem_fenced_exec_thrash: New subtests that uses all fences

igt runs under the assumption that nothing else (besides maybe fbcon)
is using the gpu. So we should be able to use all fences.

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

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/*: scrap get_num_fences
Daniel Vetter [Thu, 12 Sep 2013 12:21:56 +0000 (14:21 +0200)]
tests/*: scrap get_num_fences

Just use gem_available_fences directly.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agointel_audio_dump/hsw: rename some audio configuration registers for Haswell
Mengdong Lin [Mon, 9 Sep 2013 19:38:40 +0000 (15:38 -0400)]
intel_audio_dump/hsw: rename some audio configuration registers for Haswell

For Haswell, some audio configuration registers have changed their name and
some bit definitions.

This patch applies the changes, and uses subfunctions to parse registers for
code reuse.

Here is the name change list:
Audio configuration: AUD_CONFIG_x to AUD_TCx_CONFIG
Audio Misc Control: AUD_MISC_CTRL_x to AUD_Cn_MISC_CTRL
Audio M & CTS programming enable: AUD_CTS_ENABLE_x to AUD_TCx_M_CTS_ENABLE
Audio EDID data block: AUD_HDMIW_HDMIEDID_x to AUD_TCx_EDID_DATA
Audio Widget Data Island Packet: AUD_HDMIW_INFOFR_x to AUD_TCx_AUD_INFOFR
Audio Pipe and Converter Configs: AUD_PORT_EN_HD_CFG to AUD_PIPE_CONV_CFG
Audio Digital Converter: AUD_OUT_DIG_CNVT_x to AUD_Cn_DIG_CNVT
Audio Stream Descriptor Format: AUD_OUT_STR_DESC_x to AUD_Cn_STR_DESC
Audio Connect List Entry & Length:  AUD_PINW_CONNLNG_LIST_x to
                                        AUD_TCx_PIN_PIPE_CONN_ENTRY_LNGTH
Audio Connection Select Control: AUD_PINW_CONNLNG_SEL to AUD_PIPE_CONN_SEL_CTRL
Audio DIP & ELD Control State: AUD_DIP_ELD_CTRL_ST_x to AUD_TCx_DIP_ELD_CTRL_ST
Audio HDMI FIFO status: AUD_HDMIW_STATUS to AUD_HDMI_FIFO_STATUS

NOTE:
For Tx, x = A/B/C, meaning Transcoder A/B/C.
For Cn, n = 1/2/3, meaning audio converter 1/2/3.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Reviewed-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
11 years agointel_audio_dump/hsw: align code with tab
Mengdong Lin [Mon, 9 Sep 2013 19:38:32 +0000 (15:38 -0400)]
intel_audio_dump/hsw: align code with tab

This patch makes the file to follow kernel coding style:
- replace leading spaces with tabs for alignment
- fix some minor format issues

But the max length of a line is set to 120 characters for readability
on high resolution displays.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Reviewed-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
11 years agointel_audio_dump/hsw: remove misuse of PCH transcoder configuration register
Mengdong Lin [Mon, 9 Sep 2013 19:38:20 +0000 (15:38 -0400)]
intel_audio_dump/hsw: remove misuse of PCH transcoder configuration register

The PCH transcoder config register (PCH_TRANS_CONF, 0xf0008) is not the
correct config register for transcoder A, B or C. This register is in
PCH and for CRT display, nothing to do with display audio.

So This patch removes misuse of it as config register for transcoder A/B/C.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Reviewed-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
11 years agobump version to 1.4 and add the release date intel-gpu-tools-1.4
Rodrigo Vivi [Mon, 16 Sep 2013 19:37:08 +0000 (16:37 -0300)]
bump version to 1.4 and add the release date

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
11 years agoNEWS: Fix dates of previous releases
Rodrigo Vivi [Fri, 13 Sep 2013 19:54:56 +0000 (16:54 -0300)]
NEWS: Fix dates of previous releases

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
11 years agooverlay: fix link error due to missing -lrt
Rodrigo Vivi [Mon, 16 Sep 2013 18:34:27 +0000 (15:34 -0300)]
overlay: fix link error due to missing -lrt

CC: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
11 years agolib/drmtest: ducttape over fork race
Daniel Vetter [Fri, 13 Sep 2013 14:43:22 +0000 (16:43 +0200)]
lib/drmtest: ducttape over fork race

Whatever the reason (and I've thought there isn't one) if we fork and
kill right away the child seems to not reliably die. We can work
around this little race by forcing the default SIGQUIT handler. This
should break anything since we reset our atexit handling anyway, so if
the helper needs any atexit handling the special signal helpers will
be reinstated.

Note that inserting sufficient amounts of printf between the fork and
kill makes this unnecessary.

While add it also add the retry loop for the waitpid call, in case
there's another guy constantly interrupting us.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib: add test for igt_fork_signal_helper
Daniel Vetter [Fri, 13 Sep 2013 14:38:59 +0000 (16:38 +0200)]
lib: add test for igt_fork_signal_helper

If we're really fast we've trying to stop the signal helper again
we somehow race somewhere and it'll never happen. So add a testcase for
this. Since I expect more to come for testsuite tests add a separate
make target for them. Run tests with

$ make check

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoNEWS: smelling fixes
Chris Wilson [Fri, 13 Sep 2013 15:28:15 +0000 (16:28 +0100)]
NEWS: smelling fixes

11 years agoinitial release notes for the next release
Daniel Vetter [Fri, 13 Sep 2013 15:02:07 +0000 (17:02 +0200)]
initial release notes for the next release

Please amend/improve.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoreconstruct NEWS file for the releases thus far
Daniel Vetter [Fri, 13 Sep 2013 15:01:38 +0000 (17:01 +0200)]
reconstruct NEWS file for the releases thus far

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agooverlay: Fix stale mention to x11-position.c
Damien Lespiau [Fri, 13 Sep 2013 15:00:05 +0000 (16:00 +0100)]
overlay: Fix stale mention to x11-position.c

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agoman: Fixes typo in intel_lid.man
Eero Tamminen [Fri, 13 Sep 2013 14:32:43 +0000 (15:32 +0100)]
man: Fixes typo in intel_lid.man

Signed-off-by: Eero Tamminen <eero.t.tamminen@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agolib/drmtest: skip suspend tests in simulation
Daniel Vetter [Thu, 12 Sep 2013 12:00:09 +0000 (14:00 +0200)]
lib/drmtest: skip suspend tests in simulation

The simulator doesn't like this nor really support it :(

v2: We've tried to a more gentle resume testing using the pm_test
infrastructure, but that alos failed. So add a FIXME comment that we
need to improve things a bit here.

Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: drop unused oldsig variabel
Daniel Vetter [Thu, 12 Sep 2013 10:56:20 +0000 (12:56 +0200)]
lib/drmtest: drop unused oldsig variabel

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: Restore default sighandlers
Daniel Vetter [Wed, 11 Sep 2013 13:46:43 +0000 (15:46 +0200)]
lib/drmtest: Restore default sighandlers

Forked tests ended up restoring the sighandlers already inherited
from the parent, resulting in endless signal loops through our
atexit handler.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: don't frob signals in __igt_fork_helper
Daniel Vetter [Wed, 11 Sep 2013 13:05:20 +0000 (15:05 +0200)]
lib/drmtest: don't frob signals in __igt_fork_helper

We shut up the exit handlers already by clearing the array.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: clean up children in an exit handler
Daniel Vetter [Wed, 11 Sep 2013 12:29:00 +0000 (14:29 +0200)]
lib/drmtest: clean up children in an exit handler

Also be a bit more careful with killing them in general.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_persisten_relocs: Update like gem_reloc_vs_pug
Daniel Vetter [Wed, 11 Sep 2013 12:03:47 +0000 (14:03 +0200)]
tests/gem_persisten_relocs: Update like gem_reloc_vs_pug

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_reloc_vs_gpu: some fixes
Daniel Vetter [Wed, 11 Sep 2013 11:59:18 +0000 (13:59 +0200)]
tests/gem_reloc_vs_gpu: some fixes

- Clear the igt_helper_process struct to avoid hitting asserts.
- Fix up the logic for enumerating forked processes.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: handle SIGBUS in the exit handlers
Daniel Vetter [Wed, 11 Sep 2013 10:11:54 +0000 (12:11 +0200)]
lib/drmtest: handle SIGBUS in the exit handlers

Our kernel likes to occasionally kill process with a SIGBUS when this
shouldn't ever happen. Hence also handle this signal in the exit
handler infrastructure.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: Reject igt_fork from within igt_fork earlier
Daniel Vetter [Wed, 11 Sep 2013 09:51:40 +0000 (11:51 +0200)]
lib/drmtest: Reject igt_fork from within igt_fork earlier

We reject it in igt_waitchildren already, but earlier is better.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: Fix igt_stop_signal_helper for subtest listing
Daniel Vetter [Wed, 11 Sep 2013 09:09:08 +0000 (11:09 +0200)]
lib/drmtest: Fix igt_stop_signal_helper for subtest listing

We need to bail out early for otherwise we'll hit the
!signal_helper->running assert.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: skip when prefault control isn't available
Daniel Vetter [Wed, 11 Sep 2013 08:47:07 +0000 (10:47 +0200)]
lib/drmtest: skip when prefault control isn't available

Instead of crashing with an igt_assert. Fixes the only crashing test
when running igt on non-intel systems.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: Use ARRAY_SIZE
Daniel Vetter [Wed, 11 Sep 2013 08:40:25 +0000 (10:40 +0200)]
lib/drmtest: Use ARRAY_SIZE

Less fragile ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: double-check that we clean up helper processes
Daniel Vetter [Tue, 10 Sep 2013 15:41:49 +0000 (17:41 +0200)]
lib/drmtest: double-check that we clean up helper processes

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: consolidate the helper process killing in one exit handler
Daniel Vetter [Tue, 10 Sep 2013 13:44:37 +0000 (15:44 +0200)]
lib/drmtest: consolidate the helper process killing in one exit handler

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_reloc_vs_gpu: use igt_fork_helper
Daniel Vetter [Tue, 10 Sep 2013 13:29:17 +0000 (15:29 +0200)]
tests/gem_reloc_vs_gpu: use igt_fork_helper

Now we do a waitpid instead of a simple wait which could eat
the "wrong" child ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: create helpers for forking helper threads
Daniel Vetter [Tue, 10 Sep 2013 13:46:08 +0000 (15:46 +0200)]
lib/drmtest: create helpers for forking helper threads

The upshot is that we can share the logic to make sure the helpers
are all properly stoved again in a 2nd step.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: fixup for the prefault rework
Daniel Vetter [Sun, 8 Sep 2013 12:03:20 +0000 (14:03 +0200)]
lib/drmtest: fixup for the prefault rework

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: Avoid calling exit handlers multiple times
Daniel Vetter [Sun, 8 Sep 2013 12:03:03 +0000 (14:03 +0200)]
lib/drmtest: Avoid calling exit handlers multiple times

- reset the count when forking
- don't add the same handler multiple times
- don't restore the exit signal handlers in the forked helper
  process
- reset the exit handler count once called to make sure we don't call
  it multiple times when dying
- don't wait for the signal helper if it's gone already

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_reloc_overflow: Add more checks
Daniel Vetter [Wed, 4 Sep 2013 13:25:03 +0000 (15:25 +0200)]
tests/gem_reloc_overflow: Add more checks

For reloc offsets and batch start/len. Doesn't quite fit into the test
subject at hand here, but meh.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_reloc_overflow: convert to subtests
Daniel Vetter [Wed, 4 Sep 2013 12:43:06 +0000 (14:43 +0200)]
tests/gem_reloc_overflow: convert to subtests

More will come!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_exec_bad_domains: enable conflicting write domains test
Daniel Vetter [Wed, 4 Sep 2013 12:27:17 +0000 (14:27 +0200)]
tests/gem_exec_bad_domains: enable conflicting write domains test

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib: fix the fix for gen5 workaround emmision
Imre Deak [Wed, 4 Sep 2013 14:02:19 +0000 (17:02 +0300)]
lib: fix the fix for gen5 workaround emmision

Fix the regression introduced in

commit bfbe813f8fb587017c4e1d73c51395c2837eb395
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue May 29 22:14:06 2012 +0200

    lib: fix gen5 workaround emission

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agolib/intel_batchbuffer: remove code w/o effect
Imre Deak [Wed, 4 Sep 2013 14:06:00 +0000 (17:06 +0300)]
lib/intel_batchbuffer: remove code w/o effect

Introduced when refactoring the patch in

commit c1ee0bb53269ded7b79966d081518d689639bac7
Author: Imre Deak <imre.deak@intel.com>
Date:   Mon Jul 29 16:43:31 2013 +0300

    intel_batchbuffer: add support for non-32bit blt copies

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agotests/gem_pipe_control_store_loop: Add subtest for reused buffers
Daniel Vetter [Wed, 4 Sep 2013 12:08:10 +0000 (14:08 +0200)]
tests/gem_pipe_control_store_loop: Add subtest for reused buffers

This exercises the slightly faulty kernel w/a that Eric fixed in

commit e844b990b1df9242bb91b7d490552f3198946838
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Jul 31 15:35:01 2012 -0700

    drm/i915: Don't forget to apply SNB PIPE_CONTROL GTT workaround.

    If a buffer that was the target of a PIPE_CONTROL from userland was a
    reused one that hadn't been evicted which had not previously had this
    workaround applied, then the early return for a correct
    presumed_offset in this function meant we would not bind it into the
    GTT and the write would land somewhere else.

    Fixes reproducible failures with GL_EXT_timer_query usage in apitrace,
    and I also expect it to fix the intermittent OQ issues on snb that
    danvet's been working on.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48019
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52932
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Carl Worth <cworth@cworth.org>
Tested-by: Carl Worth <cworth@cworth.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: add missing igt_exit() calls
Daniel Vetter [Wed, 4 Sep 2013 11:25:28 +0000 (13:25 +0200)]
tests: add missing igt_exit() calls

Forgotten while converting to subtests, then copy&pasted.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: add igt_skip_on macro
Daniel Vetter [Wed, 4 Sep 2013 11:19:42 +0000 (13:19 +0200)]
lib/drmtest: add igt_skip_on macro

I've fumbled the logic inversion when converting to igt_require way
too often, so lets add something for dummies like me ;-)

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: Update .gitignore
Daniel Vetter [Wed, 4 Sep 2013 08:36:28 +0000 (10:36 +0200)]
tests: Update .gitignore

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests: add gem_persisten_relocs
Daniel Vetter [Tue, 3 Sep 2013 13:30:02 +0000 (15:30 +0200)]
tests: add gem_persisten_relocs

This reproduces the 3.7 relocation regression ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agointel_gtt: Raw PTE dumper mode
Ben Widawsky [Sun, 1 Sep 2013 19:34:36 +0000 (12:34 -0700)]
intel_gtt: Raw PTE dumper mode

./tools/intel_gtt -d | head
GTT offset |                 PTEs
--------------------------------------------------------
  0x000000 | 0xe4005015 0xe2854015 0xe283e015 0xe283f015
  0x004000 | 0xe28ba015 0xe28bb015 0xe28b6015 0xe28b7015
  0x008000 | 0xe2828015 0xe2829015 0xe282a015 0xe282b015
  0x00c000 | 0xe2928015 0xe2929015 0xe292a015 0xe292b015
  0x010000 | 0xe2918015 0xe2919015 0xe291a015 0xe291b015
  0x014000 | 0xe291c015 0xe291d015 0xe291e015 0xe291f015
  0x018000 | 0xe2920015 0xe2921015 0xe2922015 0xe2923015
  0x01c000 | 0xe2924015 0xe2925015 0xe2926015 0xe2927015

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agointel_gtt: Properly support gen6+ GTT PTEs
Ben Widawsky [Sun, 1 Sep 2013 19:17:23 +0000 (12:17 -0700)]
intel_gtt: Properly support gen6+ GTT PTEs

This finishes the objective in the last patch which was to actually deal
with physical addresses, and not the PTEs.

GEN6+ Provided support for physical addresses above 4GB. I'm not
actually sure what Ironlake supported, and don't feel like firing up the
timemachine.

v2: Add support for gen4, gen5, and haswell.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agointel_gtt: Use function to get the physical address
Ben Widawsky [Sun, 1 Sep 2013 18:49:12 +0000 (11:49 -0700)]
intel_gtt: Use function to get the physical address

The GTT PTEs that the tool is trying to compare is really about
addresses, and not the PTE itself. To accomplish this, make which
calculates the physical address we actually want.

This commit itself doesn't change any functionality; just the wording in
the code.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agogem_vmap_blits: Demote warning to note
Ben Widawsky [Sun, 1 Sep 2013 18:47:57 +0000 (11:47 -0700)]
gem_vmap_blits: Demote warning to note

The warning that vmap isn't supported is useful, but it shouldn't get in
the way of developers (or distros) being able to use -Werror.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agointel_reg_dumper: Silence GCC for uninitialized clock
Ben Widawsky [Sun, 1 Sep 2013 18:47:11 +0000 (11:47 -0700)]
intel_reg_dumper: Silence GCC for uninitialized clock

GCC 4.8.1 seems to think clock may be uninitialized.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agotests/gem_reloc_vs_gpu: add thrashing tests
Daniel Vetter [Tue, 3 Sep 2013 15:49:02 +0000 (17:49 +0200)]
tests/gem_reloc_vs_gpu: add thrashing tests

Using the i915_gem_drop_caches debugfs interface to thrash without
really thrashing.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_reloc_vs_gpu: add forked versions
Daniel Vetter [Tue, 3 Sep 2013 09:57:56 +0000 (11:57 +0200)]
tests/gem_reloc_vs_gpu: add forked versions

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: use igt_require/assert in the prefault helpers
Daniel Vetter [Tue, 3 Sep 2013 10:22:09 +0000 (12:22 +0200)]
lib/drmtest: use igt_require/assert in the prefault helpers

11 years agotests/gem_reloc_vs_gpu: Add faulting reloc tests
Daniel Vetter [Tue, 3 Sep 2013 08:59:13 +0000 (10:59 +0200)]
tests/gem_reloc_vs_gpu: Add faulting reloc tests

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: include sys/mman.h from drmtest.h
Daniel Vetter [Tue, 3 Sep 2013 08:38:29 +0000 (10:38 +0200)]
lib/drmtest: include sys/mman.h from drmtest.h

We need it for mmapping to get at PROT_READ|WRITE anyway.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: extract gem_execbuf helper
Daniel Vetter [Tue, 3 Sep 2013 08:37:14 +0000 (10:37 +0200)]
lib/drmtest: extract gem_execbuf helper

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_reloc_vs_gpu: add interruptible version
Daniel Vetter [Tue, 3 Sep 2013 06:57:42 +0000 (08:57 +0200)]
tests/gem_reloc_vs_gpu: add interruptible version

Exercise a bug where we've failed to propagate the error code
correctly.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agokms_flip: Fix use of fb_width for PAN subtests
Chris Wilson [Mon, 2 Sep 2013 12:50:56 +0000 (13:50 +0100)]
kms_flip: Fix use of fb_width for PAN subtests

We need to be careful to remember that fb-width is not always the same
as hdisplay, since for panning we allocate a larger framebuffer. So fix
up the printfs to use hdisplay/vsisplay since that should be uniform
across the array.

Regression from
commit 919d68901187fa797a9b648fcf87c838fae22fa3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 29 15:33:53 2013 +0100

    kms_flips: Operate on an array of crtc

Buzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68832
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agolib/drmtest: Improve output when igt_waitchildren fails
Daniel Vetter [Mon, 2 Sep 2013 06:08:29 +0000 (08:08 +0200)]
lib/drmtest: Improve output when igt_waitchildren fails

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotest/gem_concurrent_blt: remove hack for testing igt_fork
Daniel Vetter [Mon, 2 Sep 2013 06:04:19 +0000 (08:04 +0200)]
test/gem_concurrent_blt: remove hack for testing igt_fork

Oops, this shouldn't have been committed ...

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68830
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_tiled_swapping: fix igt_require conversion
Daniel Vetter [Mon, 2 Sep 2013 05:51:24 +0000 (07:51 +0200)]
tests/gem_tiled_swapping: fix igt_require conversion

I seem to be incompetent at logic ...

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68831
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_mmap_gtt: fix access checks
Daniel Vetter [Fri, 30 Aug 2013 06:15:32 +0000 (08:15 +0200)]
tests/gem_mmap_gtt: fix access checks

Reading manpages advisable ;-)

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_mmap_gtt: clarify access check checks a bit
Daniel Vetter [Fri, 30 Aug 2013 06:13:05 +0000 (08:13 +0200)]
tests/gem_mmap_gtt: clarify access check checks a bit

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: Print info when children died due to signals
Daniel Vetter [Thu, 29 Aug 2013 19:44:48 +0000 (21:44 +0200)]
lib/drmtest: Print info when children died due to signals

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_evict_everything: add swapping and forked subtests
Daniel Vetter [Thu, 29 Aug 2013 19:44:28 +0000 (21:44 +0200)]
tests/gem_evict_everything: add swapping and forked subtests

Much better at hitting the list corruption here on my machines
than what we have thus far.

Note that somehow I just can't reproduce the bug any more. No idea
why. But I guess it's time to simply push this pile out.

v2: Limit threads and rounds to something reasonable.

v3: Use igt_permute_array to avoid EINVAL due to duplicated bo.

v4:
- Add a variant of the forked tests with multiple drm fds.
- Tune the swapped forked tests a bit to complete in a reasonable
  amount of time.

v5: Add some memory pressure from the cpu by using cpu mmaps (which
directly hit shmem, so bypass gem completely).

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_evict_*: Fix leak in copy
Daniel Vetter [Thu, 29 Aug 2013 13:15:56 +0000 (15:15 +0200)]
tests/gem_evict_*: Fix leak in copy

This turned out to be the reason one one of my tests was hitting
the list corruption bug - we need a good deal more memory pressure.
So I'll now add a new testcase for that.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agotests/gem_tiled_swapping: Use igt_require
Daniel Vetter [Thu, 29 Aug 2013 12:01:34 +0000 (14:01 +0200)]
tests/gem_tiled_swapping: Use igt_require

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: extract igt_fork from gem_concurrent_blt
Daniel Vetter [Thu, 29 Aug 2013 08:06:51 +0000 (10:06 +0200)]
lib/drmtest: extract igt_fork from gem_concurrent_blt

Making sure that we correctly collect the exit codes from all children
is a bit a hassle. So add another magic igt codeblock for easy forking
and joining.

Note that children are (currently at least) not allowed to call igt_skip.
Add an assert to enforce this.

v2:
- Properly propagate the exit code.
- Fix the segfault.
- Add a child int and num_children paramter to the magic codeblock as
  suggested by Chris Wilson.
- Don't dump noise into stdout when a child thread fails, the parent
  will do that for us already.

v3: Now with some docs.

v4: Fixup igt_waitchildren to properly reset state so it can be used
again.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agokms_flip: Remove debugging leftovers
Chris Wilson [Thu, 29 Aug 2013 17:03:07 +0000 (18:03 +0100)]
kms_flip: Remove debugging leftovers

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agokms_flip: Set everything to zero to disable a CRTC
Chris Wilson [Thu, 29 Aug 2013 16:55:13 +0000 (17:55 +0100)]
kms_flip: Set everything to zero to disable a CRTC

Just setting fb=0 is not enough as the kernel thinks userspace is
insane.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agokms_flip: Use the first mode if we find no matching modes for the crtc pair
Chris Wilson [Thu, 29 Aug 2013 16:21:59 +0000 (17:21 +0100)]
kms_flip: Use the first mode if we find no matching modes for the crtc pair

We will check that we can set the mode on both crtcs before use, so
hopefully this will work...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agokms_flip: Hook up primary events for page-flips
Chris Wilson [Thu, 29 Aug 2013 15:43:18 +0000 (16:43 +0100)]
kms_flip: Hook up primary events for page-flips

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agokms_flip: Run on pairs of connected outputs.
Chris Wilson [Thu, 29 Aug 2013 15:00:51 +0000 (16:00 +0100)]
kms_flip: Run on pairs of connected outputs.

The goal is to flip the same framebuffer on a pair of CRTCs (clone mode)
and check that (a) the flip works in all combinations of workloads, and
(b) that we can hit the desired refresh rate under the simplest, most
ideal of conditions.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agokms_flips: Operate on an array of crtc
Chris Wilson [Thu, 29 Aug 2013 14:33:53 +0000 (15:33 +0100)]
kms_flips: Operate on an array of crtc

This should be no functional change as we operate on an array of
crtc[1]. Later we shall test clone mode across a number of crtc.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agokms_flip: Exercise flip-vs-render
Chris Wilson [Thu, 29 Aug 2013 14:11:47 +0000 (15:11 +0100)]
kms_flip: Exercise flip-vs-render

For machine with split BCS/RCS rings, we also need to test whether we
correctly wait upon outstanding render work before flipping and changing
modes. This should also serve to exercise the ring selection code for
flips.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Increase idle timeout to 30s
Chris Wilson [Thu, 29 Aug 2013 12:33:21 +0000 (13:33 +0100)]
overlay: Increase idle timeout to 30s

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Hide idle processes
Chris Wilson [Thu, 29 Aug 2013 12:31:24 +0000 (13:31 +0100)]
overlay: Hide idle processes

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Autohide Flip counter after a period of inactivity
Chris Wilson [Thu, 29 Aug 2013 12:19:29 +0000 (13:19 +0100)]
overlay: Autohide Flip counter after a period of inactivity

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Monitor per-ring context switch rate
Chris Wilson [Thu, 29 Aug 2013 11:01:38 +0000 (12:01 +0100)]
overlay: Monitor per-ring context switch rate

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Make it easier to renice
Chris Wilson [Wed, 28 Aug 2013 11:40:20 +0000 (12:40 +0100)]
overlay: Make it easier to renice

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Generate unique name for snapshots
Chris Wilson [Wed, 28 Aug 2013 11:37:14 +0000 (12:37 +0100)]
overlay: Generate unique name for snapshots

Since we no longer increment the counter every frame, we need to use a
timestamp instead.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Add number of running processes to CPU display
Chris Wilson [Tue, 27 Aug 2013 22:51:32 +0000 (23:51 +0100)]
overlay: Add number of running processes to CPU display

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Include the core count in the cpu info line
Chris Wilson [Tue, 27 Aug 2013 16:51:11 +0000 (17:51 +0100)]
overlay: Include the core count in the cpu info line

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Scale the CPU busy value by the numer of active cores
Chris Wilson [Tue, 27 Aug 2013 16:40:45 +0000 (17:40 +0100)]
overlay: Scale the CPU busy value by the numer of active cores

Having 100% always mean one processor fully utilised is much easier to
understand (than having to remember how many cores are on each machine
and scale appropriately).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Tidy presentation of ring busy values
Chris Wilson [Tue, 27 Aug 2013 16:35:51 +0000 (17:35 +0100)]
overlay: Tidy presentation of ring busy values

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Restore the correct default font size
Chris Wilson [Tue, 27 Aug 2013 14:42:48 +0000 (15:42 +0100)]
overlay: Restore the correct default font size

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: read rc6 status from perf
Chris Wilson [Tue, 27 Aug 2013 14:19:58 +0000 (15:19 +0100)]
overlay: read rc6 status from perf

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Add support for multi-monitor positioning
Chris Wilson [Tue, 27 Aug 2013 13:25:38 +0000 (14:25 +0100)]
overlay: Add support for multi-monitor positioning

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Set the text color in case we do not have RC6
Chris Wilson [Tue, 27 Aug 2013 12:32:26 +0000 (13:32 +0100)]
overlay: Set the text color in case we do not have RC6

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: improve alignment of some labels
Chris Wilson [Tue, 27 Aug 2013 11:54:37 +0000 (12:54 +0100)]
overlay: improve alignment of some labels

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Read interrupts from perf
Chris Wilson [Tue, 27 Aug 2013 11:24:18 +0000 (12:24 +0100)]
overlay: Read interrupts from perf

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Read frequency from perf
Chris Wilson [Tue, 27 Aug 2013 11:24:18 +0000 (12:24 +0100)]
overlay: Read frequency from perf

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Read power from perf_events
Chris Wilson [Tue, 27 Aug 2013 10:20:43 +0000 (11:20 +0100)]
overlay: Read power from perf_events

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agooverlay: Align the process names in the memory table
Chris Wilson [Mon, 26 Aug 2013 22:32:07 +0000 (23:32 +0100)]
overlay: Align the process names in the memory table

And use a shade of gray to distinguish from the total instead.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
11 years agolib/drmtest: restore in_fixture assert
Daniel Vetter [Mon, 26 Aug 2013 19:16:37 +0000 (21:16 +0200)]
lib/drmtest: restore in_fixture assert

I didn't really want to revert those, too ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agoRevert "tests/gem_concurrent_blit: Fix segmentation fault"
Daniel Vetter [Mon, 26 Aug 2013 18:41:00 +0000 (20:41 +0200)]
Revert "tests/gem_concurrent_blit: Fix segmentation fault"

This reverts commit 912a7d855600aadb937517ec5bab26bfd9b8953d.

Now fixed for real!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolib/drmtest: don't complete fixtures with a longjmp
Daniel Vetter [Mon, 26 Aug 2013 18:52:14 +0000 (20:52 +0200)]
lib/drmtest: don't complete fixtures with a longjmp

Longjmp creates havoc with stack variables of the current stackframe.
And since fixtures should be used to set up such variables creating
havoc isn't a great idea. With this I can revert a bunch of
bogus patches I've done to paper over this by moving stack variables
to be global.

The same issue is actually a feature for subtest blocks since subtests
should be independant anyway.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>