3528 Commits

Author SHA1 Message Date
Thomas Wood
564dfd45a9 tests/kms_fbc_crc: fix fread() return value assertion
Use 1 as the element size to check the number of bytes returned is
greater than 0, rather than checking the number of elements returned.

This fixes a regression from commit 47f6b13 (igt.cocci: check the
return values of various functions).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89833
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-08 17:58:32 +01:00
Imre Deak
074d8b440e tools/intel_reg_dumper: fix PIPECONF decode
- decode the register for BXT too
- decode interlace on VLV/CHV too
- don't decode rotation and bpc on platforms where these fields are not defined

Signed-off-by: Imre Deak <imre.deak@intel.com>
2015-04-08 15:29:44 +03:00
Imre Deak
07a58707c3 tools/intel_reg_dumper: fix DSPCNTR decode for BXT
Signed-off-by: Imre Deak <imre.deak@intel.com>
2015-04-08 14:52:37 +03:00
Imre Deak
7027227ca2 tools/intel_bios_read: fix SSC freq for BXT
On BXT the SSC reference frequency is fixed 100MHz.

Signed-off-by: Imre Deak <imre.deak@intel.com>
2015-04-08 14:52:37 +03:00
Damien Lespiau
790398bbbd list-workarounds/bxt: Add Broxton to the list of valid platorms
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2015-04-08 14:52:37 +03:00
Damien Lespiau
ab7619b5d2 lib/bxt: Add Broxton PCI ids
v2: Rebase on top of the SKL upstreaming

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
2015-04-08 14:52:37 +03:00
Imre Deak
6cd0ea090c lib/intel_chipset: fix HAS_PCH_SPLIT on GEN9
In the next patch we'll add support for BXT which is GEN9, but doesn't
have PCH, so fix the macro accordingly.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
2015-04-08 14:52:37 +03:00
Imre Deak
f0cbfb64df lib/intel_chipset: fix HAS_PCH_SPLIT on CHV
CherryView is GEN8 but doesn't have PCH so fix the macro accordingly.

Signed-off-by: Imre Deak <imre.deak@intel.com>
2015-04-08 14:52:36 +03:00
Imre Deak
1dc4884875 tools/intel_bios_reader: fix SSC freq for VLV/CHV
VLV/CHV has a fixed 100MHz SSC reference frequency.

Signed-off-by: Imre Deak <imre.deak@intel.com>
2015-04-08 14:52:36 +03:00
Jani Nikula
d9a25af39c README: Update dependencies
Add libunwind-dev, sort the list.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2015-04-07 18:56:14 +03:00
Jeff McGee
7968098fb7 tests/pm_sseu: Require Gen8+ early in setup
Pre-Gen8 devices should be skipped early instead of failing
when test resources are not found.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89822
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
2015-04-07 10:56:14 +02:00
Chris Wilson
a6c3b32622 igt/kms_vblank: Simple accuracy test
Queue 60 event to arrive at the same vblank from different points in
time and make sure it just works.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-06 10:44:46 +01:00
Chris Wilson
43a1f64e72 igt/gem_cpu_reloc: Pretty print execbuf failures
References: https://bugs.freedesktop.org/show_bug.cgi?id=85672
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-03 09:25:42 +01:00
Chris Wilson
71de427b53 igt/gem_persistent_relocs: Add note about known byt/full-ppgtt issue
References: https://bugs.freedesktop.org/show_bug.cgi?id=84859
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-03 09:09:04 +01:00
Chris Wilson
e8457edba6 igt/gem_exec_blt: Prevent assertion failure when running as a test load
gem_exec_blt is used by other scripts to provide a background load, for
example by drv_missed_irq. This mode doesn't act like a normal test and
igt complains bitterly about it.

Let's just ignore igt here.

References: https://bugs.freedesktop.org/show_bug.cgi?id=88041
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-02 20:17:16 +01:00
Tim Gore
8938e1ed47 tests/Android.mk : skip kms_pipe_b_c_ivb if no cairo
test kms_pipe_b_c_ivb depends on cairo, so add it to
the list of test not to build unless "ANDROID_HAS_CAIRO"
is set.

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-02 16:36:11 +01:00
Tim Gore
ebb46bb2e2 tests/gem_concurrent.c: rename to gem_concurrent_all
Recent patch #7763349a9a87.. renamed gem_concurrent_blit.c
to gem_concurrent.c and then added entries to Makefile.am
to make two identical executeables (but with different
names) from this source file. This executeable changes its
behaviour based on argv[0]. But, this has broken the
Android build, which does not use autotools.

This patch instead renames the source file to match
the name of one executable (gem_concurrent_all.c) and
creates a second source file which simply #includes the
first. The Makefile.am entries are also removed.
This restores the simple test.c -> test executeable
relationship seen in the rest of IGT and allows the
Android build system to work without parsing Makfile.am
or having to incorporate a special workaround for this
test.

Signed-off-by: Tim Gore <tim.gore@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-02 16:35:42 +01:00
Joonas Lahtinen
a95033fdbc tests: install test programs to libexec
Install the test programs by default so that they can be packaged.

Tested with the testdisplay test so that it still runs after the
modifications as it depends on a data file to be present. Need to
pass -r option to enable QR code display on success (PNG data file).

Packaging is useful when building a complete software stack for a
DUT from scratch. This should bring us closer to achieving a
built-from-scratch testing workflow.

Package maintainers can always decide to ignore the installed files.

v2:
- Install more tests including scripts and their data

v3:
- Add clarification to commit message about why we do this.
  (Chris Wilson & Thomas Wood)
- Change libexec into pkglibexec to comply to standard
  (Thomas Wood)
- Do not install $(common_files). (Thomas Wood)
- Make it really obvious the installed files are tests by using
  tests directory name to avoid any confusion with packagers.

v4:
- Fixed commit message.

v5:
- Add file locator helper to retain backwards compatibility.
  (Thomas Wood)
- Test with testdisplay -r option that draws the .png file.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-02 16:32:47 +01:00
Chris Wilson
590e47c94f igt/kms_vblank: Include a test for comparing blocking drmWaitVblank
The other aspect of the spinlock/interrupt on-off overhead is that when
we wait for vblank it immediately turns off, and then we immediately turn
it back on for the next wait.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-02 11:45:17 +01:00
Ander Conselvan de Oliveira
992f9f6403 tests: Add test for pipe B and C interactions in IVB
The tests exercise different combinations of enabling pipe B with modes
that require more than 2 lanes and then enabling pipe C.

v2: Added a couple more tests for different pipe transitions. (Ander)
    Use custom modes to make the test reliable. (Daniel)

v3: Add IGT_TEST_DESCRIPTION. (Thomas)
    Rename test to kms_pipe_b_c_ivb. (Ander)

v4: Fix subtest enumeration. (Thomas)

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-31 10:22:23 +01:00
Ander Conselvan de Oliveira
9aeff2b5c5 lib/kms: Add a way to override an output's mode
So that it is possible to use a custom mode with the simplified mode set API.

v2: Add documentation for igt_output_override_mode(). (Thomas)

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-31 10:21:54 +01:00
Thomas Wood
2f0e3cdcab lib/tests: add missing library flags
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-30 17:36:16 +01:00
Thomas Wood
04b1526f9d lib: add debug flags
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-30 17:09:22 +01:00
Thomas Wood
ea453dbb4a gem_exec_blt: fix subtest enumeration
Wrap the sysfs_read and sysfs_write calls in an igt_fixture block so
they are not executed during subtest enumeration.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-30 17:09:22 +01:00
Chris Wilson
af3e32cee2 igt/gem_evict_everything: Simplify mlocked_evictions
igt_fork/igt_waitchildren already perform the magic required to raise
errors based on the exit error code of the child, so take advantage of
that and kill the overlycomplicated message passing!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-30 17:05:16 +01:00
Chris Wilson
9c6e6db03d Revert "tests/gem_exec_lut_handle"
This reverts commit a5934091b84e3f8804fb3fed35374c5a976dd07e.

Unnerf igt/gem_exec_lut_handle. Sadly completely breaking the
measurement is not a good excuse to hide regressions.
2015-03-30 11:11:20 +01:00
Chris Wilson
068f9ceb62 igt/gem_evict_everything: Use mlock to reduce available memory
The idea here is to check what happens when a large process requests
memory from us - we create and utilize a bunch of surfaces then have to
relinquish some but continue using the whole working set (so as to force
reloads).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-29 15:57:50 +01:00
Chris Wilson
b9b82fdc5f igt/gem_exec_parse: Use a macro for pretty printing the test failure
By moving the assert up a level, we get an much improved assertion
failure message (e.g. it includes the batch string that fails).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-29 14:13:05 +01:00
Chris Wilson
a1e4ec4a68 igt/gem_cs_prefetch: Use gem_execbuf for pretty printing of failures
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-29 14:13:05 +01:00
Chris Wilson
11291fd52f igt/gem_exec_(blt|nop): IGT magic
$ ./gem_exec_nop --list-subtests
render
bsd
blt
vebox
gem_exec_nop: igt_core.c:946: igt_skip: Assertion `in_fixture' failed.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26 20:53:06 +00:00
Thomas Wood
47f6b1305c igt.cocci: check the return values of various functions
Add rules to fix unused-result warnings when compiling with
_FORTIFY_SOURCE defined and apply them to the library and tests.

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-26 15:50:59 +00:00
Thomas Wood
0c4dd28d2d docs: limit the number of subtests listed
Avoid producing long lists of subtests in the documentation and instead
provide instructions on how to obtain the full list.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-26 15:50:41 +00:00
Thomas Wood
76dad7f414 Add default debug flags for tests
Include debugging symbols in tests by default to improve stack traces
and also set the compiler optimisation level to improve the debugging
experience.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-26 15:50:05 +00:00
Thomas Wood
277ca2b992 lib: print a stack trace when a test assertion fails
Add an optional dependency on libunwind to print stack traces when a
test assertion fails.

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-26 15:50:05 +00:00
Chris Wilson
2659cbbf64 igt/gem_exec_(nop|blt): Repeat measurements at min/max GPU frequencies
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26 14:04:56 +00:00
Chris Wilson
7763349a9a igt/gem_concurrent_blit: Separate out the combinatorial explosion
Apparently nobody else likes testing and debugging GEM coherency issues.
However, this also means that QA is skipping these vital tests. Split
out a set of canaries into igt/gem_concurrent_blit and keep the rest in
igt/gem_concurrent_all.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89497
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26 08:15:19 +00:00
Chris Wilson
c666a19e0c igt/gem_exec_blt: Repeat measurement and average
Through away the unstable outliers for a more consistent measurement.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26 08:15:19 +00:00
Chris Wilson
cd8d3809a6 igt/gem_exec_nop: Repeat and average to stabilize measurements
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26 08:15:19 +00:00
Chris Wilson
4f78f9ffa2 igt/gem_exec_blt: Do a warmup run first
Sometimes it takes a pass for the GPU to come up to full speed, so do a
"cold" pass first.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26 08:15:19 +00:00
Chris Wilson
6259d0a36b igt/gem_exec_blt: Repeat measurements for stablity
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-03-26 08:15:18 +00:00
Chris Wilson
2fa35c7316 lib/core: Silence internally used signals
We use SIGTERM to kill off child processes. We use it a lot. Reporting
everytime we use it is just spam. Treat the similar user signals
(SIGINT, SIGQUIT and the should-never-have-been SIGPIPE) similarly to
reduce noise.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Thomas Wood <thomas.wood@intel.com>
2015-03-26 08:15:18 +00:00
Mika Kuoppala
559987fc01 tools/intel_error_decode: Add gen8+ fault data encodings
These two registers contains the 48bit fault address.

Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2015-03-26 10:00:34 +02:00
Mika Kuoppala
f96bfb8e8c tools/intel_error_decode: Add decodings for FAULT_REG
Add decodings for FAULT_REG

v2: fix fault encodings and ignore addr type for gen8+ (Michel)
    fix engine mask

Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2015-03-26 10:00:18 +02:00
Mika Kuoppala
0a2ef9c349 tools/intel_error_decode: Add ERROR decodings for gen8
Add ERROR decodings for gen8

Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2015-03-26 10:00:06 +02:00
Ville Syrjälä
1cfcca66ec tools: Update .gitignore
Ignore intel_watermark and unignore the, now extinct, intel_dpio_{read,write}.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2015-03-25 20:32:57 +02:00
Jeff McGee
07707aff75 tests/pm_sseu: Create new test pm_sseu
New test pm_sseu is intended for any subtest related to the
slice/subslice/EU power gating feature. The sole initial subtest,
'full-enable', confirms that the slice/subslice/EU state is at
full enablement when the render engine is active. Starting with
Gen9 SKL, the render power gating feature can leave SSEU in a
partially enabled state upon resumption of render work unless
explicit action is taken.

v2: Add test description and apply recommendations of igt.cocci
    (Thomas Wood).
v3: Skip instead of fail if debugfs entry i915_sseu_status is not
    available.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Tested-by: Lei Liu <lei.a.liu@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-25 17:52:27 +00:00
Jeff McGee
aef4605f7c lib: Add media spin
The media spin utility is derived from media fill. The purpose
is to create a simple means to keep the render engine (media
pipeline) busy for a controlled amount of time. It does so by
emitting a batch with a single execution thread that spins in
a tight loop the requested number of times. Each spin increments
a counter whose final 32-bit value is written to the destination
buffer on completion for checking. The implementation supports
Gen8, Gen8lp, and Gen9.

v2: Apply the recommendations of igt.cocci.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Tested-by: Lei Liu <lei.a.liu@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-25 17:52:11 +00:00
Jeff McGee
301b9e4bb3 tests/drv_getparams: Skip instead of fail on EINVAL
Avoid failing on older kernels where the GETPARAM interfaces
don't exist.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89669
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
2015-03-25 14:41:52 +01:00
Tim Gore
9ba93c43cf tests/gem_tiled_fence_blits: split into subtests
The gem_tiled_fence_blits test tends to get oom killed
on low memory (< 4GB) Android systems. This is because the
test tries to allocate (sysinfo.totalram * 9 / 10) in
buffer objects and the remaining 10% of memory is not
always enough for the Android system.
As with a similar issue with gem_render_linear_blits,
this problem is resolved by splitting into subtests.
A "basic" subtest uses minimal memory buffers to test
the basic operation, and a "normal" subtest which is
skipped if there is insufficient memory.

I also took the opportunity to cull some numeric literals.

Signed-off-by: Tim Gore <tim.gore@intel.com>
2015-03-25 14:41:52 +01:00
Ville Syrjälä
4d2577e0dd tools/intel_watermark: Tool to decode watermark registers
The watermark registers on the gmch platform are a bit of a mess. Add
a tool to make some sense of them. While at it decode the ilk-bdw wm
registers as well. SKL+ is left out for now since it's a very different
beast.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2015-03-24 15:30:20 +02:00