The clone-single-crtc will test various cloning scenarios.
Currently it does limit the number of simultanously cloned
connectors to the number of pipes in the system. That restriction
can be lifted in the future if desired.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
I used to have a binary that would just disable all the screens - so
we can enter PC8/runtime PM - and then sleep forever. I used this
binary many times while debugging PC8 and runtime PM, and I also sent
the binary to many people so they would be able to test these things
without X running.
Since pm_pc8 already implements everything that the separate binary
needs, and it even has some additional code to try to configure the
environment to actually reach PC8, it's easier to just ask people to
run "sudo ./pm_pc8 --stay" instead of sending them a file, asking them
to compile it, setup the environment, and then run it.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
We allocate more surfaces than used in a single pass in order to stress
the eviction code between batches. The intent here is not to exercise
swapping, and we fail to check that there is enough swap+memory to hold
all our surfaces. So limit the number of surfaces we allocate to fit
into RAM, and then require that the number of surfaces we need for
testing is less than the number of surfaces we can allocate.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Even if we ignore the double-accounting bug in Linux, we need to be sure
that the remaining swapspace is adequate for running our test as the
system may be under load before we even start.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Currently the test suite just looks at the files provided by the
runtime power management framework to check if the device is runtime
suspended. Add a test that reads the PCI config space to check if the
device is actually in PCI D3 state or not.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
After I finally fixed the code that WARNs if we're runtime suspended
when reading registers I started getting the WARNs, so this test
should reproduce them on a Kernel with the problem.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This is a render correctness test, the intention is not to exercise the
swapper (but preferrably some eviction code).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75247
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This is a render correctness test, the intention is not to exercise the
swapper (but preferrably some eviction code).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75247
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
dpms-vs-vblank-race and modeset-vs-vblank-race try to race wait for
vblank ioctls from one thread against modeset/dpms ioctls from another.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Context banning can prevent the page flip hang tests from actaully
testing anything, so make the relevant subtests fail in that case.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Just in case it's compile with M instead of Y. If the module is not
there, the other assertions will catch the problem.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Just in case the module is compiled with M instead of Y. If the module
is not there, the other assertions will catch the problem.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This sleep was added because sometimes we didn't reach PC8+
residencies, but it was still not enough to prevent the problem every
time, and it is really not needed most of the times. I have
investigated more and it seems that we only have to wait until after
some minutes have past since the machine booted. So just remove the
sleep for now since when you run each subtest in a separate process,
you end up having to sleep at every subtest.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
On a bad day, hanging the GPU may be terminal. Yet even if the GPU is
terminally wedged we expect modesetting (and pageflips) to continue.
That deserves to be a dedicated test, but in the meantime we should
strive to avoid falling over just because the code is not resilient.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Skipping this test until we have Cairo in the build.
Signed-off-by: Joao Santos <joao.santos@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
For those who wonder about the -j switch ... all the good ones have
been taken, so this is the Jesse-flag.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Apparently there's a bit a need for more verbose output in testcases,
mostly for debugging purposes. At least gem_reset_stats and pm_rps
have a verbose mode.
On top of that we're currently not taking advantage of piglit's "warn"
state all that much. But I think it might be useful for testcases which
are notorious for some kinds of spurious failures, like e.g. the really
nasty timing checks in kms_flip. If we demote some of them to just
warnings we could run the overall tests more often.
Hence this patchs adds a new igt_log function with the three levels DEBUG,
INFO and WARN. Plus a bunch of convenience helpers to keep the test
code tidy.
The level can be set through an enviroment vairable IGT_LOG_LEVEL with
info being the default. Also tests can look at the selected log level in
case they want to run costly debug functions only when needed.
Comments highly welcome, I plan to roll this out over tests which can
use it (not all, imo that's too much churn) once we've settled on the
interfaces/semantics.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
The Sampler/Constant cache is read-only. And it can't be used as
the target cache agent of WRITE message.
Reviewed-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Ensure sub-tests can be listed correctly by doing any test setup within
an igt_fixture block.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This is a remnant from the subtest code before we had proper
fixture blocks. With those there's no no reason to have igt_skip
calls outside of fixtures or subtests, so we can assert this and
hence always jump out.
Suggested by Thomas Wood since static analyzers got confused about
this.
To check for fallout I've run all tests as non-root so that they'll
all skip. Only very little fallout resulted.
Cc: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Otherwise we'll hit an igt_skip in the exit handler, which upsets
the new in_fixture||in_subtests checks.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This way we properly skip instead of failing hard. Just result
polish when running on non-intel systems.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drm/ path is for the headers from kernel sources, without when using
the pkgconfig libdrm version.
Cc: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>