Age | Commit message (Collapse) | Author |
|
On skylake there's a add_all_affected_planes call that will make
atomic commit use the old cursor state. Add a test that first does
a page flip then cursor update to expose the issue. The test currently
fails on the vblank wait, but that's a common issue affecting all the
tests.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This will attempt to set any property from any type to each mode object,
to ensure that only enumerated properties can ever set to a mode object.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Create an unbounded batch in order to ensure that the workload doesn't
disappear before the wait and so we should be given the RPS waitboost.
References: https://bugs.freedesktop.org/show_bug.cgi?id=97564
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Stop looking for an error for a valid combination.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97562
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Avoid having both the child and parent do the same "did the flip"
happen check with each looking for the same event on the same fd. The
problem being that the child may fall asleep and by the time it wakes up
to do its check, the parent has already eaten the event. So leave the
checking that the flip does occur to the parent.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Removes useless warnings if a caller of a function
does not use its returned value(s). Mostly aesthetic.
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
CC: Chris Wilson <chris@chris-wilson.co.uk>
CC: Daniel Vetter <daniel@ffwll.ch>
|
|
We need to have the test list generated before running the check target.
Migrated igt_command_line.sh to tests/ from lib/tests/, which allows to
building the tests and execute the script.
This would allow cleaning followed by a make check.
Also assembler/ directory needs also to be adjusted in order for this
to work.
Kept the possibility to invoke tests/igt_command_line.sh to determine
which test is failing.
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
Url: https://patchwork.freedesktop.org/series/6539/
Reviewed-By: Chris Wilson <chris@chris-wilson.co.uk>
|
|
On the move to doing front/back flips, I managed to completely break the
test by forgetting to pass the fence to be signaled.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Since we can now use the entire global GTT for display, we can handle
framebuffers that no longer fit into the mappable aperture. Update the
kms_flip/bo-too-big expectations.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97502
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This is a simple test that only tries to set the current property
values back.
It exposes the issue that some connector properties only work when
set through the legacy path, because i915 doesn't handle atomic
connector properties yet. The other way around is true too:
The atomic CRTC_ID connector property cannot be set through legacy
means yet. This causes the connector tests to fail on i915.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Since we are experiencing too much noise in BAT from what just looks
like scheduling delays in inspecting the vblank, reduce the basic test
to the fundamentla: check that the cursor ioctl following the nonblocking
flip/modeset occurs within the same vblank. Hopefully, CI + debug builds
are fast enough to do get-vblank; flip; cursor; get-vblank within a
single vblank period.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
In order for igt to run completely standalone, it must coldplug
connectors on first use by forcing the probe.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This reverts commit 38f84e30e699451cac6c7b45cd603e67b1287f15.
|
|
Check that we neither stall nor flip too early given active front/back
buffers.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Identify whether it is the nonblockling page-flip request that blocks or
the event is fired too early.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Make kms_busy a separate set of tests so that gem_busy is kept within
the core set and not thrown out from Android due to the cairo dependency
of rendering the fb.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Flips should wait until all rendering is complete to a framebuffer
before applying.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This reverts commit 5188745c4b531d09508cf0897fb90a3634299283.
|
|
With the new patch series by Lyude for fixing SKL watermarks it was
shown that watermarks for disabled planes may not be updated
correctly on modeset. Ensure that this is tested by doing a test
similar to plane-all-transition, but with modesets!
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
We have to flush any queued operations before making an assertion such
as the VMA being removed from the ppgtt.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Test slightly less predictable access to the relocation buffer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Causes an oops in the current kernel.
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
There is a potential race between place transitions and nonblocking
modesets, so try nonblocking tests for those too.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Try a series of tests in which we try to enable any combination of
crtc enabled.
{1,2,3}x-modeset-transitions will run any combination of enabled
crtc's to and from the number being tested. Any lower amount is
skipped.
Extra -nonblocking tests are added, which perform the same modeset
tests with nonblocking commit.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
When vrefresh is 30 the tests run for twice as long, set it to
vrefresh to make the tests just as long anywhere
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This probably won't pass by design on platforms that need to reallocate
global resources like watermarks on gen9+, but it's a good test anyway.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
The clang compiler generates a build error for binaries with >128MB
data segments because "The gap between stack and binary is only
guarenteed to be 128MB on x86_64"
Simple solution is to allocate the required memory from the heap.
[v2: moved malloc to after skip_on_simulation]
Signed-off-by: Derek Morton <derek.j.morton@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
When doing lockless lookups using gem_busy(), one of the largest
complications is ensuring that the bo doesn't disappear as we read it.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Upon starting, the IIR may contain stale user interrupts which then
trigger a wakeup when another interrupt occurs (e.g. execlists context
switch). This spurious wakeup causes the waiter to unstick and proceed -
preventing the missed interupt test from suceeeding.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
In the child, make sure the parent is about to sleep before allowing the
GPU to complete. In theory, we are created as an inferior process on the
same CPU and the scheduler shouldn't be executing the child before the
parent, but seems to anyway.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We don't do any santiy checking at the point of crating the mmap(), that
is deferred until the pointer is actually dereferenced (as the state of
the object may well change between mmap and pagefault).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
bring them back when they're stable to be run in CI."
This reverts commit 860b3c14f9e98face626e6ca025daf22844dd156.
|
|
This change adds a RC6 test for the MOCS. The MOCS registers are loaded
and saved as part of the RC6 cycle but not all the registers are
saved/restored. This tests that those registers are correctly restored.
Signed-off-by: Peter Antoine <peter.antoine@intel.com>
|
|
On some platforms the MOCS values are not always saved and restored
on RC6 enter/exit. The rational is that the context with restore
these values. On these platforms the test will fail as it tests the
values by directly reading the MOCS registers.
So this change removes the direct testing of the values.
Signed-off-by: Peter Antoine <peter.antoine@intel.com>
|
|
Replace the automake flag HAVE_XXX for VC4/NOUVEAU with HAVE_LIBDRM_XXX in
order for the flags to be more descriptive and also follow the same convention
as HAVE_LIBDRM_INTEL.
Signed-off-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Add a new iterator macro to run for a specified number of milliseconds.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When measuring WB performance we have the issue that it allows CPU
caching which is many times faster than main memory!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
WC access through the GTT should be much faster for writes than reads.
Indeed, we expect writes to be close to WB performance (for large
sequential transfers) and reads to be only equivalent to UC.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
A few tests rely on being able to allocate an "infinite" number of fd,
but current assert instead of skip on more restrictive kernels.
References: https://bugs.freedesktop.org/show_bug.cgi?id=97125
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When deliberately hanging the GPU, don't report FAIL if we detect a GPU
hang!
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97106
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
To stop igt from tripping over itself with the combinatorial explosion
and skips.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The copy size passed to the CPU copy routines were only for a single row
not the full bo.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This was intentionally left out of the abi since CRC have fairly low
entropy and can't be reliably compared for inequality in testcases.
Spotted while fixing up warnigns in docs, but given that igt_assert_crc_equal
has a big comment explaining why only the positive assert exists I'm not
sure all those docs are all that useful :(
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Caught by a gcc warning.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Add a test that first shows the cursor on the first display, then
shows it on the second display. This exposes the watermark issues on
SKL.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Add -varying-size, where we change the size of the cursor between
64x64 to maxw x maxh, atomic-transitions, which alternates between
a full-screen sprite plane and a full-screen primary plane,
toggle, which toggles cursor visibility and
make sure cursor moves between updates. This is a visual indicator of
the tests working as intended.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|