Age | Commit message (Collapse) | Author |
|
Suggested-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Only try removing intel_ips if it's actually loaded, and let the errors
through to the logs if removal fails.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
|
Only try removing snd_hda_intel if it's actually loaded, and let the
errors through to the logs if removal fails. This is a clue if i915
removal fails later.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
|
Add a helper for checking whether a module is reloaded, using
lsmod. Also make the grep stricter than before.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
|
|
Now will even more evilness.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
igt_subtest_group { /* to the request */ }
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97934
|
|
We found a bug where a dmabuf did not keep the module alive (and so when
i915 tried to use it later, it exploded).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Allowing modeset may prevent the test case from failing in case the atomic
check phase finds the userspace doesn't allow modeset for the commit and
returns -EINVAL. A real case is to run the test case on imx-drm which
requires a full modeset when we change an active plane's configuration,
e.g., pixel format and stride.
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Marius Vlad <marius.c.vlad@intel.com>
Cc: Micah Fedke <micah.fedke@collabora.com>
Cc: Daniel Stone <daniels@collabora.com>
Signed-off-by: Liu Ying <gnuiyl@gmail.com>
|
|
This patch exposes atomic commit flags to crtc_commit_atomic()
so that users of the macro may control the flags.
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Marius Vlad <marius.c.vlad@intel.com>
Cc: Micah Fedke <micah.fedke@collabora.com>
Cc: Daniel Stone <daniels@collabora.com>
Signed-off-by: Liu Ying <gnuiyl@gmail.com>
|
|
Just to tidy a discrepancy where doing the compare using the GTT (i.e. a
readback) is now faster than setting the contents initially (as the
readback only checks one pixel per page, do the same for setting the
object).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
vgem provides WC mmap on its dmabufs, so reading and comparing these is
slow. We can employ a similar w/a to the other WC mmaps (i.e. mmap__gtt
or mmap__wc) and only check one pixel per page. This will speed up those
tests, but I don't know if it makes detecting coherency issues more or
less likely. :|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Otherwise we inherit the bufmgr and fd across the fork, try to clean it
up in the child (affecting the parent's device), then try to clean it up
in the parent (triggering warns).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
commit 4337091f6af6 moved the initialisation of the pollfd into the
child, forgetting that it was also used in the parent as a sanity check.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97885
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Commit to a mode before querying it.
Tested-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=97172
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
|
|
The essence of the basic test is that neither the cursor nor the
nonblocking flip stall the application of the next.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
And replace with basic testing that rendering first is detected as being
busy, and then will automatically retire.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Execute the test in parallel in order to exercise a failure condition in
reordering requests.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Min, average, exclude the post-exec sync time.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Similar to benchmarks/gem_latency, but looking more at the dispatch cost
rather than wakeup cost, and looking for inter-engine costs. Still
probably better as a perf test.
ivb over the years:
IGT-Version: 1.16-gebee919 (x86_64) (Linux: 3.10-3-amd64 x86_64)
render: dispatch latency: 50.90, execution latency: 57.29 (target 4.64)
bsd: dispatch latency: 41.45, execution latency: 41.43 (target 4.75)
blt: dispatch latency: 41.02, execution latency: 41.00 (target 4.99)
IGT-Version: 1.16-gebee919 (x86_64) (Linux: 4.8.0-rc5+ x86_64)
render: dispatch latency: 12.61, execution latency: 15.44 (target 1.71)
bsd: dispatch latency: 12.08, execution latency: 12.07 (target 1.80)
blt: dispatch latency: 12.59, execution latency: 12.58 (target 1.85)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Add a heavier batch of (1M nops) in order to stress a context switch
onto a busy engine. (The immediate goal is try and fill the GuC
workqueue, but it seems like the lightweight test was enough anyway, as
well as gem_exec_nop.)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The ideal execution time cannot be faster than the fastest ring! If all
other rings were infinitely fast, the seed would be max/nengine. Given
each is finite, this puts a floor on the ideal execution time.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
In an ideal world, we should be able to execute on every engine in
parallel and the single limiting factor would be how fast the GPU can
execute. Due to the serialisation in execbuf, we would lockstep with
execution to the slowest engine and so would execute the same number of
cycles on each. However in CI, we are limited by how fast the driver is,
particularly under invasive debugging. This makes asserting that the
average time == max/nengine impossible, and reveals that the assertion is
impossible to meet under general condition. It's an impractical
regression test. Therefore we relax the assertion to only detect should
something critically fail. Worst case behaviour is presumed that each
ring runs sequentially, and so running N rings in parallel should take no
longer than running N rings serially. (Pathologically it can be even
slower if no batching on the rings occur).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This was already tested by kms_atomic when passing object id's as
properties to set.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
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>
|