Age | Commit message (Collapse) | Author |
|
As we now allow zero as number of workarounds for older gens,
without lri workarounds, change the assert to allow equality.
Also move it out from loop.
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Wait until the child tells us they are running (and have verified the
initial buffer state) before modifing the vgem buffer and then signaling
the child.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Ensure that the child does need to sleep before the vgem is written.
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This is very quick test (<0.01s) and ensures that the basic
support is in place. And also reminds to tackle the workarounds
in early phases for platform enabling.
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
|
|
We need to not only cover the function in the target=sse4.1 but the
include as well.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Damien Lespiau <damien.lespiau@intel.com>
|
|
To protect the kernel against unscrupulous fence users, fences should
automatically signal after a timeout.
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Suggested-by: Akash Goel <akash.goel@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Don't just fail, skip gracefully if an external module is unavailable.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Ensure that we eventually report idle if we call gem_busy() in a tight
loop on a hanging batch.
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>
|
|
Not a good day.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The name for a single engine was unset, oops.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
In light of a bug in intel_breadcrumbs where we missed the interrupt
when a new bottom half was installed and raced with the old bottom half
being signaled, try and recreate that race.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Change __wait_for_vblank() to use kmstest_get_vbl_flag() helper function.
Signed-off-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
|
|
Previously crtc0 was statically used for VBLANK tests, but
that assumption is not valid for the VC4 platform.
Instead we're now explicitly setting the mode.
Also add support for testing all connected connectors during
the same test.
Signed-off-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
|
|
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Currently gem_sync exploits read-read optimisation to wait upon multiple
rings simultaneously. But at the moment, gem_exec_flush is showing
sporadic missed interrupts on bdw/skl and yet gem_sync is not. This is
some subtlety in the timing, perhaps caused by the extra write. This set
of tests tries to exercise that by using a write batch - which also
means we exercise inter-ring synchronisation (like gem_storedw_loop).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Since all the batches start with the same content, we can reuse the same
buf to fill them.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This is a requirement for interoperability that we fail.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Accidentally added as part of another patch.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
All pipes are now updated in the loop first, before connectors
are read out. The mode_id and active crtc properties are added,
and crtc_id for connectors. These are required to do a modeset,
and the behavior during atomic commits is changed slightly too.
A lot of code will do the following:
- Init.
- igt_output_set_pipe(output, pipe);
- commit.
Since legacy setcrtc and atomic commit differ, there are some
differences in how we commit pipes and connectors too.
For atomic we set output->crtc during igt_output_set_pipe,
and use it in atomic commit. This may be set to NULL, in which
case the output is disconnected from the crtc. Unlike legacy
we won't attempt to bind all connectors to all pipes, only
the ones that were explicitly set.
As a test, convert kms_rmfb.c
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This reduces the runtime of the tests from ~200s on my 30 fps 4k panel
to 10s.
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
A similar expectation as to the current test that flips do not stall
cursor updates.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We don't do anything yet other than try to load the module. Initial
sanity checks to come.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Zhi Wang <zhi.a.wang@intel.com>
|
|
Silly compiler emitting warnings that just cause people to break code
attempting to silence the compiler.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Aparently we never supported that mode of operation. Maybe in the future
we will, but for now just use the vblank wait to align ourselves with
the vblank.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Let's make sure the ts vs. seq difference between the current and last
events match.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
To aid in diagnosing failures, print out the expected time
difference between the two events.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Include diff.tv_secs in the jitter comparison.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Replace some opencoded numbers with USEC_PER_SEC, and
print the usec_diff with 6 decimal digits to make things
more consistent.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
A common problem when trying to unify legacy and atomic is the breaking
of existing non-blocking, asynchronous userspace. The most trivial
example is a cursor that stalls for a pageflip.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Skip if the vgem module is not present, but still fail if we fail to
load it.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
tests using executable permission.
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
|
|
that require it.
This should allow tests/vgem_reload_basic to pass check target and it
doesn't depend of i915 being present.
v2: Do not source drm_lib.sh, only fake getopt parsing
option to again access to --list-subtests option (Chris)
v3: Forget to place the script in Makefile.sources, otherwise
distcheck will not copy it.
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
[Chris: Replace exit 1 with exit $IGT_EXIT_FAILURE]
CC: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
commit e63a0681d95a ("tests/gem_close_race: Use drm_open_driver helper")
left a few raw open() behind. Eliminate them as well!
References: https://bugs.freedesktop.org/show_bug.cgi?id=96605
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Close the batch before asserting so that we don't have to wait for a
hang after a failure.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|