Age | Commit message (Collapse) | Author | Files | Lines |
|
v2: Add <signal.h> include after rebase (by anholt)
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
v2: Rebase on get/set_tiling helpers (by anholt).
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
|
|
v2: Rebase on get/set_tiling helpers (by anholt).
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
|
|
So far this test is basically making sure that we throw appropriate
errors, and don't oops the kernel with silly inputs.
v2: Add to meson build.
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
This just checks that the appropriate errors get thrown, and that the
modifier can be set/get successfully, and that the modifier doesn't
leak to other BO allocations. Testing of scanout will be done with
the writeback support that Boris is building. The modifier has no
effect on V3D rendering, so no need to test that.
v2: Add to the meson build.
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
The MMAP_V2 is replaced by just using MMAP, since the official header
has the updated struct. The gem_create_v2 and gem_get_aperture are
left as is, because they seem to not be reflected in the UABI header!
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Petri Latvala <petri.latvala@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Petri Latvala <petri.latvala@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
The autotools build retains the configure.ac option, while meson folds
vc4 into the default build since we don't have any meson_options.txt
to control parts of the build.
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Petri Latvala <petri.latvala@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Tested by dropping garbage in my libdrm's headers and rebuilding.
v2: Pull in DRM_CFLAGS movement that ended up later in the sequence.
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Petri Latvala <petri.latvala@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
These will be used for tests that want to use a local copy of the
headers instead of depending on libdrm releases. Taken from drm-next
d65d31388a23 ("Merge tag 'drm-misc-next-fixes-2017-11-07' of
git://anongit.freedesktop.org/drm/drm-misc into drm-next")
See README for rules on updating these headers.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Petri Latvala <petri.latvala@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
Having registers for nonexistent planes in the dumpo might end up being
rather confusing. Try to only include real planes.
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Print hex numbers with "0x" prefix, and make the output a bit more
compact.
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Added support to print SKL watermark and DDB registers.
v2: Printed raw register data, renamed planes and combined two printf()'s
(Ville)
v3: s/drm_fd/-1/ for intel_register_access_init()
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
[vsyrjala: make it build, fix indentation, etc.]
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Let's print the linetime watermarks un usecs. Might make it easier to
spot bogus values.
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Acked-by: Martin Peres <martin.peres@linux.intel.com>
|
|
Instead of first calling kmstest_unset_all_crtcs, and calling
igt_display_init for each test, use igt_display_reset to reset
igt_display between tests, and use atomic commit to disable all
unused crtcs in enable_output().
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
|
|
igt_output_from_connector should be used for disconnected outputs
too, this is useful for chamelium testing, where disconnected outputs
may reappear.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
|
|
A lot of code duplicates this, but it should be handled in the core.
Add it and use it after igt_display_init(), the tests have to be
converted one by one.
Changes since v1:
- Merely reset rotation to HW value.
Changes since v2:
- Compile.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
|
|
[1/316] Compiling C object 'overlay/intel-gpu-overlay@exe/overlay.c.o'.
../overlay/overlay.c: In function ‘show_gem_objects’:
../overlay/overlay.c:798:31: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 160 [-Wformat-truncation=]
snprintf(buf, sizeof(buf), "%s %ldMB, %ld objects",
^~
../overlay/overlay.c:798:30: note: using the range [-9223372036854775808, 9223372036854775807] for directive argument
snprintf(buf, sizeof(buf), "%s %ldMB, %ld objects",
^~~~~~~~~~~~~~~~~~~~~~~
../overlay/overlay.c:798:30: note: using the range [-9223372036854775808, 9223372036854775807] for directive argument
../overlay/overlay.c:798:3: note: ‘snprintf’ output between 16 and 309 bytes into a destination of size 160
snprintf(buf, sizeof(buf), "%s %ldMB, %ld objects",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
comm->name, comm->bytes >> 20, comm->count);
Might as well give it the 309 bytes it wants, plus on more. :-)
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Since the tools want to work without the module loaded, remove the
assumption that we want to load the driver to find debugfs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Ville Syrjala <ville.syrjala@linux.intel.com>
|
|
Look at the first 16 characters of the user buffer and if they are all
printable, assume that user buffer contains ASCII data (e.g. a debug log)
that we want to simply print out. Otherwise, we treat it as a binary data
and hexdump as before.
Tvrtko: you know you could just write this as a printf (d'oh)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
If we can't find the enable_execlists parameter, presume that the switch
is forced by the kernel and enabled for all hw supporting execlists. We
don't have a GETPARAM or ENGINE_INFO to query the internal details.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
|
|
I noticed that dpm was storing some information about which phase of
suspend failed inside suspend_stats. That will be useful to help debug
such failures, so automatically dump it after suspend fails.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
Since CI runs each subtest individually, we do not get the batching of
tests and execute every fixture around each subtest. The consequence of
this for CI is that we quickly exhaust static allocations like lockdep's
array of lockclasses, or causing hash conflicts with new locks being
reallocation into existing addresses, the result is a warning from
lockdep and ts disabling.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
If we asked to open a particular chipset and we find no matching device,
try again after attempting to load its module. Previously we only did
this for vgem, which is not automatically probed during boot, but if we
want to leave the module unloaded we have to try harder when we need the
device.
v2: DRIVER_* are already masks (and not shifts). Use a common
driver_open for both /dev/dri/cardX and /dev/dri/renderDX.
v3: Beware making local variables accidentally static scoped.
v4: Beware multiple threads trying and failing to open a device
v5: Fixed spelling of render (Petri)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
is_mountpoint() asserts rather than report the error. Normally this
isn't a problem, except for atypical selftests.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
This reverts commit 7296e09ee7f17e6d564e52cf64ee900670849429.
This commit was accidentally applied twice, the first time in
commit e4ba3b75e6de35483b2edea21ceda145ef0b3311.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
CC: Daniel Vetter <daniel.vetter@ffwll.ch> #irc
|
|
Wherever possible we want to use existing ioctls rather than poking the
volatile modparams, in this case we already provide
I915_PARAM_HAS_SEMAPHORES so we have no excuse to peek i915.semaphores.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
Some debugging information is too voluminous to enable by default, yet
may be invaluable when it comes to post-mortem debugging. trace_printk()
provides the facility for the trace ringbuffer to be dumped on oops,
this way we can cheaply spam the debug log and only present it in case
of emergency.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Doing modeset on internal panels may have a considerable overhead due to
the panel specific power sequencing delays. To avoid long test runtimes
in CI split out the testing of internal panels from the plane modeset
subtests and test only a reduced number of plane combinations on these:
where only a single plane is enabled, all planes are disabled or all
planes are enabled.
v2:
- Add code comment explaining the need for the separate internal-panels
subtests.
- Calculate the number of enabled planes only once. (Chris)
- Disable the slow internal-panels subtests testing all combinations.
(Petri)
v3: (Maarten)
- Skip the internal-panels subtests if no internal panels are found.
- Also test transitions with all planes disabled.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103334
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
knowing the assertion triggered on wait_until_enabled() is not that
useful without knowing what exactly caused the failure. It might be an
user error, like too little stolen memory by the bios, or an actual
issue in the kernel. So, let's make life easier, particularly for the
CI, by printing the status before failing out.
Case in point:
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101718
v2: Small typo.
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
|
|
Commit ca20170afc6f ("tests/kms_plane_scaling: Add support for dynamic
number of planes") shifted the tested planes by one after the
refactoring, accidentally ignoring the first plane, which is zero
indexed. A symptom of the issue appears on KBL, where the third plane
is already the shared cursor, causing igt to configure an unsupported
framebuffer format on it, triggering the following error:
[drm:__setplane_internal] Invalid pixel format XR24 little-endian (0x34325258)
With this fixed, we can exposes the pixel clock scaling issue, which is
the actual problem being tracked in Bug 103159, but let's start by
reverting to the old behavior.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103159
Fixes: ca20170afc6f ("tests/kms_plane_scaling: Add support for dynamic number of planes")
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Reviewed-by: Robert Foss <robert.foss@collabora.com>
|
|
Use TEST_NONE instead of TEST_DEVICES to prevent a machine death that
happens on a particular model of SNB (2600 is affected, 2520m is
not). Reset is unreliable, but the exact setup to trigger the death
and how to work around it are not found at this time. There is some
kind of a race lurking, and this commit is a workaround that avoids
it, leaving the test still exercising some of the codepaths.
References: https://intel-gfx-ci.01.org/tree/drm-tip/igt@gem_eio@in-flight-suspend.html
References: https://bugs.freedesktop.org/show_bug.cgi?id=103289
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
CC: Daniel Vetter <daniel.vetter@ffwll.ch>
CC: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
CC: "Lofstedt, Marta" <marta.lofstedt@intel.com>
CC: Martin Peres <martin.peres@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
"other" was misspelled as "otehr". Fix it.
Signed-off-by: Thierry Reding <treding@nvidia.com>
|
|
The meson build avoids the failure by excluding the igt_x86.c file from
the compilation. autotools being what they are don't support that in an
easy way, so just use the preprocessor to avoid the duplicate function
definitions.
Since igt_x86.c will now be ignored for non-x86 builds, the meson work-
around can be removed.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
|
|
GCC will warn about ISO C90 forbidding to mix declarations and code.
Declare the variable at the beginning of the function to suppress the
warning.
Signed-off-by: Thierry Reding <treding@nvidia.com>
|
|
Data types are defined differently on 32-bit systems, causing gcc to
complain about printf format specifiers not matching the size of the
variables passed in. Use PRIu64 and %zu where appropriate.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
|
|
List the available tests with piglit instead of by hand. This solves
naming inconsistencies (piglit throwing caps away) as seen by
cibuglog, and makes the listing code simpler.
The format of the listing changes from
test-binary/subtest-name
to
igt@test-binary@subtest-name
but so far nothing has been able to directly consume run-tests.sh -l
output. The piglit format is directly consumable by piglit --test-list, and thus
by run-tests.sh -T.
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Acked-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
Acked-by: Martin Peres <martin.peres@linux.intel.com>
|
|
We need to check that the kernel rejects attempts to pass in
unknown flags.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Instead of:
(debugfs_test:1499) DEBUG: Reading file "data"
(debugfs_test:1499) DEBUG: Could not open file "data" with error: Input/output error
Print:
(debugfs_test:1360) DEBUG: Entering subdir crtc-2
(debugfs_test:1360) DEBUG: Entering subdir crc
(debugfs_test:1360) DEBUG: Reading file "data"
(debugfs_test:1360) DEBUG: Could not open file "data" with error: Input/output error
(debugfs_test:1360) DEBUG: Reading file "control"
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
In kernel v4.10 the legacy crc api has been replaced by a generic
drm crc API. Remove support of the i915 legacy CRC api, since
this is no longer needed.
Cc: Tomi Sarvela <tomi.p.sarvela@intel.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Petri Latvala <petri.latvala@intel.com>
[mlankhorst: Put the igt_require_pipes_crc() changes in their own commit.]
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #irc
|
|
commit 8038e09be5a3ac06 ("drm/crc: Only open CRC on atomic drivers when
the CRTC is active.") rejects opens on the CRC when the CRTC is not
configured. Use fstat instead to check this file exists, so we don't
accidentally rely on the legacy CRC path.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #irc
|
|
[[ a != b ]] is a bashism. As it's just comparing $1 to an empty string,
use -n with a normal [ ].
Noticed whilst testing meson builds. /bin/sh is apparently dash in Intel's CI.
v2:
- keep this as a /bin/sh script (Joonas Lahtinen)
Fixes: c3863e19 ("assembler/test: Prep work for meson")
CC: Daniel Vetter <daniel.vetter@ffwll.ch>
CC: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
|
|
For measuring the cost of preemption, inject a low priority spinner
between the two measurements; the difference between the preemption and
the normal dispatch includes both the cost of the spinner dispatch and
of preempting it. Close enough for us to estimate the cost of
preemption, though we don't measure the cost of preemption on the local
ring!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
CC: Michał Winiarski <michal.winiarski@intel.com>
|
|
If the system has bsd2, we do not know which ring the kernel will alias
I915_EXEC_BSD onto and so we do not what the matching string should be.
Skip the unknown.
v2: Deny the aliased I915_EXEC_BSD exists at all; be specific!
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103324
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
CC: Michał Winiarski <michal.winiarski@intel.com>
|
|
Since the headless subtest wants to compare execution latency of a
headless mode vs a single head, it needs to be able to do a modeset and
ergo it requires DRM_MASTER.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
|
|
__gem_create() doesn't touch the outparam *handle on failure, so we can
no longer assert that it zero. This is reasonable to remove as it is just
testing the library itself and not the kernel, so no loss in coverage.
We already had to remove the false assertion that gem_create() must fail
following fd exhaustion (as we can not prevent the kernel from freeing
VFS fdspace in between calls).
The last remaining change is that we do no need to rely on an external
path for open() as dup() will do the job of exhausting the fdtable.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103365
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
|
|
We only suppress the error state from the context, iff we trigger the
GPU reset by hangcheck (igt_hang_ring). If we trigger an immediate reset
via igt_force_gpu_reset(), we will populate the error-state but not free
it because we thought we have it suppressed by the context parameter.
Always eat the error after we expect a GPU reset and have not specified
that we want to keep it.
The side-effect of keeping the error-state around after we deliberately
created it is that subsequent GPU hangs are not prominently recorded, as
the kernel believes they are secondary hangs (and we only announce the
first).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
|