On gen8, we should check that the full 64bit relocation value is
correct, and we should be sure to poison the relocation offset between
runs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Now that there is PAGE_SIZE define, use it.
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Saves a good amount of code duplication by supporting expected
failures from the main loop.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Sonika Jindal <sonika.jindal@intel.com>
Reviewed-by: Sonika Jindal <sonika.jindal@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Now that size is calculated in a single place and correct geometry passed in,
paint squares does not need to concern itself with it.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Sonika Jindal <sonika.jindal@intel.com>
Reviewed-by: Sonika Jindal <sonika.jindal@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
There can only be one, either a plane or a cursor, in each subtest so there
is no need for two framebuffer varilables and also some codepaths can be
unified.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Sonika Jindal <sonika.jindal@intel.com>
Reviewed-by: Sonika Jindal <sonika.jindal@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
It is just there to light up the display using the full modeset. Also renamed it
from fb_full to fb_modeset to be more descriptive.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Sonika Jindal <sonika.jindal@intel.com>
Reviewed-by: Sonika Jindal <sonika.jindal@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>