3528 Commits

Author SHA1 Message Date
Chris Wilson
cd812a4e89 igt/gem_pwrite: Delete unused mmap(wc) for the big CPU test
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-26 11:21:54 +01:00
Chris Wilson
49bcdc84a3 igt/gem_pwrite: Also test surfaces larger than the GTT
Go big or go home!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-26 11:12:38 +01:00
Chris Wilson
236bab5cfd lib: Fix types for gem_create()
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-26 11:12:38 +01:00
Chris Wilson
263da26b9c intel-gpu-overlay: Improve error message for failure to open an output
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-26 10:17:18 +01:00
Chris Wilson
be6e32b925 igt/gem_pwrite: Test handling of larger than mappable buffers
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-26 10:17:18 +01:00
Jani Nikula
dfda0b6aec intel_reg: introduce one intel_reg tool to rule them all
Three Tools for the Elven-kings under the sky,
	Seven for the Dwarf-lords in their halls of stone,
	Nine for Mortal Men doomed to die,
	One for the Dark Lord on his dark throne
	In the Land of Mordor where the Shadows lie.
	One Tool to rule them all, One Tool to find them,
	One Tool to bring them all and in the darkness bind them
	In the Land of Mordor where the Shadows lie.

		J.R.R. Tolkien's epigraph to The Lord of The Tools
		 | sed 's/Ring/Tool/g'

Introduce intel_reg as the one Intel graphics register multitool to
replace intel_reg_read, intel_reg_write, intel_iosf_sb_read,
intel_iosf_sb_write, intel_vga_read, intel_vga_write, intel_reg_dumper,
intel_reg_snapshot, and quick_dump.py.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2015-04-23 01:09:59 +03:00
Sonika Jindal
e1ce5eac33 kms_rotation_crc: Adding test for 90/270 rotation
Adding 90/270 rotation testcase for primary and sprite planes.

v2: Added position test for sprite. Checking for gen > 9 for 90/270.
Some cleanup and rebase.
v3: Added test for unsupported tiling and unsupported pixel format for 90/270
v4: Added the legacy commit to initiate modeset in the negative test(Tvrtko)

Signed-off-by: Sonika Jindal <sonika.jindal@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-22 18:00:42 +01:00
Sonika Jindal
7ef80c0a98 lib/igt_kms: Let set_property return the result
Return the return value of the set_property ioctl and add check for
the failure.

Signed-off-by: Sonika Jindal <sonika.jindal@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-22 18:00:42 +01:00
Tim Gore
7aeecc197b tests/Android.mk : skip kms_legacy_colorkey if no cairo
test kms_legacy_colorkey 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-22 18:00:42 +01:00
Tim Gore
20ad3e55fb tools/quick_dump/makefile.am: add -lrt to get clock_gettime
Attempting to build IGT on linux without libunwind fails
due to tools/quick_dump not linking the rt library,
causing an undefined symbol error for clock_gettime.
Adding -lrt to the list of libraries in Makefile.am fixes
this.

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-22 18:00:42 +01:00
Tim Gore
52888df084 lib/drmtest.h : fix mmap64 again
In android mmap64 was redirected to mmap2 because mmap64
was not alway available. But now mmap2 has been removed
from 64 bit android builds (and mmap64 is available), so
update preprocessor conditional to check for __x86_64__.

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-22 18:00:42 +01:00
Thomas Wood
5b7edb9cb0 docs: avoid escaping characters in documentation comments
Avoid having to escape certain characters in documentation comments by
not allowing docbook markup tags. Markdown formatting in documentation
comments is still supported.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-21 10:52:14 +01:00
Mike Mason
cc9110c447 tests/tools_test: Find tools in source or installed locations
Signed-off-by: Mike Mason <michael.w.mason@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-20 12:11:49 +01:00
Rodrigo Vivi
36ecc3180a tests/kms_psr_sink_crc: Make render size and stride based on modified fb size
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
c352475960 test/kms_psr_sink_crc: Add dpms off/on tests.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
782d5e7a03 test/kms_psr_sink_crc: Split plane setup operations
No functional changes. This reorg will allow to do some
operations like dpms off/on with different places to wait
for psr to get active.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
fd9ef1b8c8 tests/kms_psr_sink_crc: remove timeout option from wait_psr_entry.
No functional changes. Just making timeout unique for any case.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
ae9c685133 lib/igt_aux: Introduce igt_interactive_debug_manual_check.
This is an extention of igt_debug_wait_for_keypress that also can have
customized message and return key pressed.

v2: This is actualy a v2. V1 was an extension of original
    igt_debug_wait_for_keypress but it was nacked.

v3: Make [Y/n] check inside aux function as suggested by Daniel.
    Also renaming and adding first use case along with the axu function.

v4: Simplify function name and make it assert pressed key
    is different from n/N as suggested by Daniel.

Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
e1ac04462d tests/kms_psr_sink_crc: Add manual mode.
Sink CRC is the most reliable way to test PSR. However in some platforms
apparently auto generated packages force panel to keep calculating CRC invalidating
our current sink crc check over debugfs.

So, this manual test help us to find possible gaps on this platforms where we cannot
trust on sink crc checks.

v2: Accept Daniel's suggestions:
    * Avoid strcpy
    * don't override assert definition
    * Make --interactive-debug for every testcases instead using local --manual

v3: Sink CRC can be unreliable for other platforms as well so let's skip and warn
    when we detect the misbehaviour instead hardcoded per platform.

Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
b7b2ecbaef tests/kms_psr_sink_crc: Make plane_move visible to human eyes
this will allow manual tests when crc isn't available.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
00992f7d86 tests/kms_psr_sink_crc: Make mmaps visible to human eyes
this will allow manual tests when crc isn't available.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
f20690d864 tests/kms_psr_sink_crc: Make render visible to human eyes
This will allow manual tests when crc isn't available.

v2: Remove unused and non-sense buf->size and decrease buf->stride a bit as suggested by Daniel.

v3: Fix v2 mistake and get buf->size back with a value that makes more sense.
    TBD: to be changed for variable size depending on modified fb size on following patch

Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Rodrigo Vivi
3cb21246c1 tests/kms_psr_sink_crc: Make blt visible to human eyes
This will allow manual tests when crc isn't available.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2015-04-16 11:08:37 -07:00
Thomas Wood
1cbe7dd54c tests: update .gitignore
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-16 17:41:41 +01:00
Ville Syrjälä
2b74b2bb33 tests: Add kms_legacy_colorkey
Add a quick test to make sure the legacy set colorkey ioctl only works
for sprite planes.

v2: Drop igt_fixtures

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2015-04-16 16:49:46 +03:00
Ville Syrjälä
4271b15f3c quick_dump: Fix undefined symbols from libunwind
../../lib/.libs/libintel_tools.a(igt_core.o): In function `print_backtrace':
intel-gpu-tools/lib/igt_core.c:981: undefined reference to `_Ux86_64_getcontext'
intel-gpu-tools/lib/igt_core.c:982: undefined reference to `_ULx86_64_init_local'
intel-gpu-tools/lib/igt_core.c:983: undefined reference to `_ULx86_64_step'
intel-gpu-tools/lib/igt_core.c:987: undefined reference to `_ULx86_64_get_proc_name'

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2015-04-16 16:38:03 +03:00
Ville Syrjälä
3dff4af5e0 quick_dump: Don't allow undefined symbols in _chipset.so
Every time _chipset.so has undefined symbols we fail to notice it
at build time and then get to wonder why quick_dump fails to actually
work. Pass -Wl,--no-undefined to the linker to get a build time error
instead of the current runtime error.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2015-04-16 16:38:03 +03:00
Chris Wilson
beddb3be3f igt/gem_exec_lut_handle: Hide exec latency
The first test tries to rewrite relocations in an active batch, which is
a useful test and measurement. However, the overhead of the exec may
dominate and so we want a measurement without that overhead as well.
Using a pool of batches should allow for the oldest to idle whilst we
setup the next (and so the wait should be non-existent).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-14 21:20:13 +01:00
Thomas Wood
ecb03266b2 lib: load images from the data directory in igt_paint_image
Update igt_paint_image so that it can read images from the package data
directory.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:44:35 +01:00
Thomas Wood
90dadcd0da lib: use a critical warning when unable to open a data file
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:44:35 +01:00
chandra konduru
8b3082a40e i-g-t: Adding panel fitting test case
This patch is adding i-g-t test case to test panel fitting usages.

v2:
-use new tiled types when calling igt_create_fb (me)

Signed-off-by: chandra konduru <chandra.konduru@intel.com>
[Thomas: convert test to use igt_simple_main]
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:44:35 +01:00
chandra konduru
a26f9f9ad0 i-g-t: Adding plane scaling test case
This patch is adding i-g-t plane scaling test case to test couple basic
display plane scaling usages. Additional test scenarios can be added later.

v2:
-Added iterative scaling to visually observe scaling (me)

v3:
-Added a flag to control primary plane scaling (me)

v4:
-Use new tiled types when calling igt_create_fb (me)

Signed-off-by: chandra konduru <chandra.konduru@intel.com>
[Thomas: convert test to use igt_simple_main]
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:44:34 +01:00
chandra konduru
ace4208702 i-g-t: Adding test case to test background color.
Adding i-g-t test case to test display crtc background color.

v2:
- Added IGT_TEST_DESCRIPTION() (Thomas Wood)
- Added to .gitignore (Thomas Wood)
- Added additional details to function header (Thomas Wood)
- Simplified igt_main (Thomas Wood)

v3:
- rebased to latest master (me)
- took sleep calls out (Daniel)
- use new tiled types when calling igt_create_fb (me)

Signed-off-by: chandra konduru <chandra.konduru@intel.com>
[Thomas: convert test to use igt_simple_main]
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:44:34 +01:00
Joonas Lahtinen
e371b3fbad tests/gem_mmap_gtt: add huge BO test
Add a straightforward test that allocates a BO that is bigger than
(by 1 page currently) the mappable aperture, tests mmap access to it
by CPU directly and through GTT in sequence.

Currently it is expected for the GTT access to gracefully fail as
all objects are attempted to get pinned to GTT completely for mmap
access. Once the partial view support is merged to kernel, the test
should pass for all parts.

v2:
- Corrected BO domain handling (Chris Wilson)
- Check again after GTT access for added paranoia (Chris Wilson)

v3:
- Avoid flush by using pread (Chris Wilson)
- Free gtt_pattern buffer too.

v4:
- Add more comments (Tvrtko Ursulin)
- Use igt_require (Tvrtko Ursulin)

v5:
- Remove wrong message from igt_require_f (Tvrtko Ursulin)
- After digging deeper to it, just igt_assert that the CPU
  mapping needs to succeed.

Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
[Thomas: remove unused label]
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:44:24 +01:00
Joonas Lahtinen
577fb75ed8 tests/gem_mmap_gtt: clarify BO domain setting functions
Add suffix and complementary function for CPU domain.

v2:
- Change function signatures to be consistent with the rest

Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:43:05 +01:00
Thomas Wood
629759c2d1 NEWS: Updates
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:43:05 +01:00
Thomas Wood
c06bba1256 tests: install the test list
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:43:05 +01:00
Thomas Wood
e72686b83b tests: create a single combined test list
All tests now respond in a consistent way such that separate lists for
tests with and without subtests are no longer necessary.

v2: fix other references to the test list

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:43:05 +01:00
Thomas Wood
cff102ebb2 lib: use test failure status for igt_set_timeout
Use a failure status code for timeout to avoid confusion between tests
that take too long to execute versus a failure due to an operation
taking longer than expected.

v2: Add a "timed out" message before exiting. (Daniel Vetter)
    Fix the timeout library check by disabling hard errors in xfail
    tests, since these share the same exit status as test failure.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:43:05 +01:00
Thomas Wood
b47032e191 lib: add a define for test failure exit status
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-14 17:43:05 +01:00
Chris Wilson
41fe1d1a44 lib: Implement gem_sync() using WAIT
When synchronising to rendering, we only want to wait for it to complete
and avoid the cache-domain side-effects of SET_DOMAIN if possible. This
has the advantage of speeding up a few tests (and thereby making the
actual test more explicit in terms of kernel operations). Of course some
tests may be reliant on the side-effects...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-04-14 15:46:56 +01:00
Chris Wilson
9fd6e07369 igt/prime_self_import: Ensure driver state is consistent between counts
Similar to gem_flink_race, we need to make sure that when we count
objects, the driver is in an identical state. We do this by flushing all
work before counting.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90003
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-13 10:49:47 +01:00
Chris Wilson
2e526ae9cd igt/gem_flink_race: Explicitly quiesce the GPU before counting objects
By explicitly quiescing the GPU we force it to a known and ideally
identical state when counting objects. In particular, this should make
the batch-pool status the same and not cause us to detect a negative
leak.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-12 13:43:00 +01:00
Chris Wilson
007ff02cbc igt/gem_mmap_wc: Explicitly check for use-after-close
We already rely on the mmap(object) surviving close(), but make the test
explicit and early.

Secondly, we don't technically need to call set_domain after writing
through the CPU then reading through WC, since the CPU cache is
consistent for those two paths. Test it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-10 10:07:26 +01:00
liu,lei
d36465d520 Correct kms_fbc_crc case
Debugfs i915_fbc_status shows "FBC unsupported on this chipset"
not "unsupported by this chipset" if the platform doesn't support
FBC feature. That typo will cause case fail on some platforms such
as byt, bsw.

Signed-off-by: Lei Liu <lei.a.liu@intel.com>
2015-04-09 15:45:50 +02:00
Shuang He
b556c9e8e5 tests: Fix duplicate 'kms_flip_event_leak' entry in tests/Makefile.sources
Or, it will cause piglit failure to run I-G-T test case

Signed-off-by: Shuang He <shuang.he@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-04-09 10:12:33 +02:00
Chris Wilson
1f6a64ee80 igt/gem_exec_lut_handle: Put some operations back!
In order to force relocations, we have to remember to clear the presumed
offsets that get filled in by each pass.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-08 21:39:47 +01:00
Chris Wilson
e22525064d igt/gem_exec_lut_handle: Trim a few operations from submission
Move all the execbuffer construction upfront and do it once per round,
rather than per relocation pass. It helps reduce runtime, but more
importantly it removes the test overhead from out of the kernel
measurement.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-04-08 21:14:46 +01:00
Thomas Wood
9d98ccb860 tests: use standard install prefix for programs, scripts and data
Use the pkglibexec and pkgdata prefixes rather than setting bindir and
datadir. This also removes the extra 'tests' directory from within the
package libexec and data directories.

Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-08 17:58:32 +01:00
Thomas Wood
4e11307e07 tests: ensure scripts and data are included in the distribution
Prefix the test scripts and data variables with dist_ to ensure they are
included in the distribution.

Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-04-08 17:58:32 +01:00