Currently tests that use igt_simple_main will simply call
"exit()" if they pass, making it difficult to ensure that
any required cleanup is done. At present this is not an
issue, but it will be when I submit a patch to turn off the
lowmemorykiller for all tests.
Signed-off-by: Tim Gore <tim.gore@intel.com>
[danvet: Also update api docs.]
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
In order to exercise https://bugs.freedesktop.org/show_bug.cgi?id=84207
we need to interrupt the mmu_notifier_register with a signal. This is
likely to be quite difficult, but let's just try running the
create-destroy test in an interruptible loop for 5s.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Due to the nature of the test, we can be reasonably sure that it is
either all copied or not. So we can sacrificing testing the entire
buffer for the expected value in order to speed up the test by only
testing along the diagonal.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84354
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Env variables are a bit more annoying since much harder to discover.
With options you can just see what they do with --help.
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Since the last patched value does not match the presumed relocation
value we submit to the kernel, it occasionally makes mistakes. Also note
that the libdrm interface makes the same presumptive mistake, and would
easily be broken by a threaded environment.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77793
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Multithreaded test to validate the (lack of) locking in the flink/open
code in libdrm-intel. Based on a testcase from Rafel Sapala.
Cc: Rafal Sapala <rafal.a.sapala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
To minimally verify that non-square cursors work on the platforms where
they're supported perform the tests first with WxH cursor and then
repeat with WxH/3 cursor.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Allow tests to specify the plane size instead of assuming that the
entire FB will be scanned out.
To keep the current tests working without having to sprinkle
igt_plane_set_size() calls all over the place, make
igt_plane_set_fb() reset the plane size to the FB size.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
intel_iosf_sb_{read,write} provide the same functionality.
intel_dpio_{read,write} are still left in place since they use a
ifferent opcode to do the register access. Need to verify if
both opcodes work.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Add a bunc of symbolic sideband unit names so that you don't have to go
trawling through the sideband HAS every time you want to poke at
something with the tool. You can still specify the port manually though
if you know them by heart already.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Unlike the kernel IS_VALLEYVIEW() doesn't cover chv in igt. Add the
appropriate IS_CHERRYVIEW() checks to the various sideband poking tools.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
v2: a more generic fix to cover current and future platforms (Damien).
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
gen8 actually changed the command layout, not just extended the
relocation value. Oh well.
References: https://bugs.freedesktop.org/show_bug.cgi?id=83915
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Should be done post-release.
Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Cc: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
When testing each format, iterate through the formats and not randomly
through the modes.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83788
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
kms_psr_sink_crc check psr activity, residency and exit for screen updates.
So this test is useless.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Black screen is forbidden on this test. So let's fail if sink crc shows
it is back.
Also there are many cases where we know for shure it should be all green,
so let's check for them.
Instead of checking colors we could print with sw using cairo and check if we
have identical crc like cursor testcases. However with PSR the chance of artifacts
is low and chance of getting blank screen or unchanged screen is high. So even drawing
on sw and comparing both CRCs we can have the same result. However the risk is that
screen never changed. So the safest way is to compare if screen changed and check
the green color when we know it should be green or not green.
v2: Hardcoded green was simply wrong because green CRC can change depending
on display.Split R, G and B on CRC and bitewise them with mask to verify
it is green.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
In order to get all test cases fixed and the matrix planes-operations working
it was needed to use the common new igt kms functions for all cases.
Previously only sprite testcase was using it.
Fixed the fb colors in a way to make tests more clear and be impossible to see
black screen during the tests.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This will allow us to test input/write oprations on any kind of plane.
At this point PLANE_ONOF is just the new name of TEST_SPRITE and
PLANE_MOVE is the one for TEST_CURSOR_MOVE. They will be extended and fixed
on the following patche(s).
v2: fix conflict after changing previous patch
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This is needed to be able to split tests in a matrix that tests different
input/write methods and operations for different type of planes.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Just to make life easier and be eable to easily test with
PSR disabled to know exactly what to expect when running it
for real
v3: Use igt_debug helpers and add env option for running with psr disabled
on this test without have to recompile like v1 or changing igt infrastructure like v2.
I tried to add --disable-psr or local --dry-run but than it fails to print subtests
so this was the safest way.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Tests were broken on platforms that doesn't have psr or on new kernel that contains new interface.
A lot more need to be done to get these tests really useful, but for now lets avoid it breaking
tests framework.
v2: Doesn't duplicate kernel's HAS_PSR. skip based on debugfs output.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
v2: sink CRC R, G and B might change depending on display. So let's split the
colors and bitwise them.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
gen2 will read the batch up until it reaches the end as defined by the
MI_BATCH_BUFFER_END command. Play nice and make sure that it does end on a
MI_BB_END.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Only attempt to test the number of planes that exist on the device so as
not to trigger spurious failures.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82233
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
The test relies on having to wait upon the GPU at some point and so
simulating a missed interrupt. If there is insufficient load on the GPU,
we can complete the task before we even wait.
References: https://bugs.freedesktop.org/show_bug.cgi?id=71334
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
commit 1649ef0d1f5c0e4f995a437bd24f1574a8b5100f
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Tue Aug 26 15:26:21 2014 +0200
lib/igt_* Use igt macros in igt libaries
went a little too far here as the replacement macro was too clever.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Avoid calling functions in igt_reset_connectors that are not safe to use
in signal handlers by keeping a list of connectors that have been
modified, instead of enumerating all connectors.
v2: add space for a sentinel NULL value on forced_connectors and print a
warning when the connector limit is reached (Chris Wilson)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83498
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Forcing HDMI or DP connectors on these platforms doesn't currently work,
so fail early to allow the test to skip if required.
v2: restrict to HSW and BDW (Daniel Vetter)
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Make sure the parameters in the prototype and implementation of
igt_create_fb match and are complete so that the documentation is
correct.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>