summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2019-03-15i915/gem_tiled_w[bc]: Tighten computation of upper boundChris Wilson
Fix the off-by-one in computing the last page that caused us to try and mmap the page beyond the end of the object. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2019-03-14i915/gem_create: Always try to create an object of at least one pageChris Wilson
0-byte objects are not allowed. References: https://bugs.freedesktop.org/show_bug.cgi?id=110106 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
2019-03-14tests/kms_plane: Set output to PIPE_NONE at end of test_format_planeNicholas Kazlauskas
AMDGPU rejects commits that have an active CRTC without an active primary plane. The pixel-format-pipe-* tests fail on AMDGPU during the cleanup at the end of the test due to the final commit disabling all the planes but not the CRTC. Disable the CRTC when cleaning up by setting the output to PIPE_NONE. Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-03-13lib/igt_fb: better format printingDaniel Vetter
Steal if from kms_plane.c and put it into igt_fb.h Also tiny bikeshed to remove the space, so it fits more tidily into the usual name1=value1, name2=value2 style printing. v2: Rebase v3: It better compile :-/ Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-03-13tests/kms_plane: Reduce execution time by reducing source size and ↵Maarten Lankhorst
performing upscaling. Execution time is way too high because of all the various conversion routines and inefficient accesses done by pixman on uncached memory. Fix it by reducing the source fb siaze, and using scaling to increase to span the entire crtc. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> [mlankhorst: Set src w/h to upscaled fb w/h to remove a magic constant.] Reviewed-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
2019-03-13kms_atomic: Add subtest for testing zpos plane propertyTomeu Vizoso
We use a 16-bit pixel buffer format for the overlay plane, as some older HW might not be capable of driving a 32-bit pixel format. Changes since v2: - use 0 for igt_paint_color_alpha() alpha parameter, as ARGB1555 uses just 1 bit for (of) alpha (Philipp Zabel) Changes since v1: - fix 'commitintg' with 'committing' (Philipp Zabel) - replace RGB565 with ARGB1555 (Philipp Zabel) - test plane if it supports the pixel format supplied (Philipp Zabel) Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
2019-03-12Revert "tests: kms_plane: Disable XBGR8888"Arkadiusz Hiler
This reverts commit 067a68969b2d41e101ac778b06f2743fa69b27ab. With the kms_plane pixel format tests now exhaustively testing all the formats even with early CRC mismatches, it's better to not hide such issues in IGT. There are other systems in place to do such things. Cc: Maxime Ripard <maxime.ripard@bootlin.com> Cc: Daniel Vetter <daniel@ffwll.ch> Reviewed-by: Martin Peres <martin.peres@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-03-12tests/kms_plane: Keep testing pixel formats even if one failsArkadiusz Hiler
In the pixel-format-pipe-*-planes* family of subtests currently we exit early if there is any CRC mismatch, leaving all the remaining formats untested. Let's fix that by moving the assert till after all the iterations. Also log each mismatch with its context in a single line so that it's easy to look for. Cc: Daniel Vetter <daniel@ffwll.ch> Reviewed-by: Martin Peres <martin.peres@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2019-03-12tests/kms_plane_multiple: Do not iterate over output twiceArkadiusz Hiler
test_plane_position already iterates over outputs using for_each_valid_output_on_pipe so there is no need to do that twice, especially with unused *output. Cc: Mika Kahola <mika.kahola@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Martin Peres <martin.peres@linux.intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-03-12tests/kms_plane_scaling: Rip out unused igt_pipe_crc_tArkadiusz Hiler
It's set up for capture and then freed but never used. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-03-12tests/kms_plane: Open DRM DEVICE with DRIVER_ANYMamta Shukla
Open DRM DEVICE with DRIVER_ANY so that this test can run in other drivers as well. Signed-off-by: Mamta Shukla <mamtashukla555@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2019-03-12kms_flip: Standardize return value for fb_is_boundRodrigo Siqueira
The function fb_is_bound() mix integer value with booleans for handling the return value. This commit standardizes the return value of fb_is_bound() for using only booleans. Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2019-03-12kms_flip: Rework set_mode()Rodrigo Siqueira
This patch removes the duplicate code inside the function set_mode(). Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2019-03-12kms_flip: Remove magic constant in run_test_on_crtc_set()Rodrigo Siqueira
The function run_test_on_crtc_set() expects a parameter named crtc_count which slight changes the behavior of the test. If this crtc_count is ‘1’, the test will run in a single CRTC; otherwise, it will run in two different CRTC. However, this function uses hardcoded literal 1 and 2 for each case. This patch creates two constant with the goal to improve the readability. Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2019-03-12kms_flip: Fix warning related to i915 gem dependenceRodrigo Siqueira
In the kms_flip tests has an igt_fixture that allocates memory for i915 driver with “drm_intel_bufmgr_gem_init()”, which produces the following warning: IGT-Version: 1.23-g8d81c2c2 (x86_64) (Linux: 5.0.0-rc7-VKMS-RULES+ x86_64) Using monotonic timestamps DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument Assuming 131072kB available aperture size. May lead to reduced performance or incorrect rendering. get chip id failed: -1 [22] This commit handles this specific dependence with the i915 driver which make the kms_flip logs better. Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2019-03-12kms_flip: Removes unreachable code related to TEST_TS_CONTRodrigo Siqueira
This commit removes the code related to TEST_TS_CONT test because the kms_flip never sets this flags, i.e., TEST_TS_CONT is not used. Take a look at commit 07a3fccf to see why this flag is never set. Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2019-03-12kms_flip: Removes unreachable code related to TEST_RPMRodrigo Siqueira
This commit removes the code related to TEST_RPM test because the kms_flip never sets this flags, i.e., TEST_RPM is not used. Take a look at commit 07a3fccf to see why this flag is never set. Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2019-03-11tests/kms_ccs: Generate compressed surfaces with rendercopyDhinakaran Pandiyan
lib/igt_fb.c now has capability to make use of rendercopy, which means we do not have to handwrite compressed buffers. v2: Make colors struct static (Ville) Cc: Clinton Taylor <clinton.a.taylor@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-03-11lib/igt_fb: s/tiling/modifier/ where appropriateVille Syrjälä
Rename the igt_fb.tiling to igt_fb.modifier to better reflect what information it carries. Now it's clear whether we're talking about a modifier or a i915 tiling thing. Cc: Clinton Taylor <clinton.a.taylor@intel.com> >From DK: Rebased on vc4 changes Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
2019-03-11tests/gem_render_copy: Test Yf tilingVille Syrjälä
Let's test Yf tiling now that rendercopy can handle it. v2: From DK Set bpp for Yf buffer and rebase. v3: From DK More documentation, fewer unexplained constants (Kasia) v4: From DK Rewrite Yf tiling algorithm to be more descriptive Cc: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2019-03-11tests/kms_setmode: Validate the vbl sequence numbersVille Syrjälä
Make sure we haven't already passed the seq numbers we're requesting when doing the ts calibration. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-03-11tests/kms_flip: Validate the vbl sequence numbersVille Syrjälä
Make sure we haven't already passed the seq numbers we're requesting when doing the ts calibration. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-03-11tests/kms_flip: Request the initial vbl count with RELATIVE instead of ABSOLUTEVille Syrjälä
Asking for the initial vblank count by specifying and absolute vblank count of 0 doesn't make much sense. Switch to a relative query instead. v2: Drop the NEXTONMISS (Daniel) v3: Put back the NEXTONMISS (Chris) Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-03-11tests/kms_setmode: Request the initial vbl count with RELATIVE instead of ↵Ville Syrjälä
ABSOLUTE Asking for the initial vblank count by specifying and absolute vblank count of 0 doesn't make much sense. Switch to a relative query instead. v2: Drop the NEXTONMISS (Daniel) v3: Put back the NEXTONMISS (Chris) Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-03-11i915/gem_ppgtt: Swap args to intel_require_memory()Chris Wilson
It should be (count, size)! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-03-11i915/gem_ppgtt: Estimate resource usage and bail if it means swapping!Chris Wilson
fi-kbl-guc's swap ran dry while running blt-vs-render-ctxN, which is mildly concerning but conceivable as we never checked there was enough memory to run the test to begin with. Each child needs to keep its own surface and possible a pair of logical contexts (one for rcs and one for bcs) so check that there is enough memory to allow all children to co-exist. During execution, we require another surface and batch, but these are temporary and so should fit fine with a small amount of thrashing on the boundary. References: https://bugs.freedesktop.org/show_bug.cgi?id=109801 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-03-07i915/pm_rpm: Show the rpm status after disabling screensChris Wilson
To have a clearer picture at what may still be holding a wakeref when all is disabled, show the wakerefs just before we start our wait believing that no wakerefs remain. References: https://bugs.freedesktop.org/show_bug.cgi?id=108800 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Imre Deak <imre.deak@intel.com>
2019-03-06igt/tests: Fix error checking in kms_atomic_transitionStanislav Lisovskiy
There is no guarantee that error return value will be always EINVAL, made a check more general as it can be ERANGE, ENOSPC, EINVAL and probably others, which all mean the same in context of this test case: i.e this sprite size is not valid. v2: Added macro to make check look a bit nicer. v3: Removed redundant debug line. v4: Added assertion if error is not EINVAL as expected, other errors except EINVAL are considered now a failures. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109225 Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Reviewed-by: Stuart Summers <stuart.summers@intel.com>
2019-03-06i915/gem_exec_parse: Switch to a fixed timeout for basic-allocationsChris Wilson
basic-allocations was written to demonstrate a flaw in our continual reallocation of cmdparser shadow bo, largely fixed by keeping a small cache of bo of different lengths (to speed up the search for the correct sized bo). We only care enough to exercise the slowdown by submitting lots of execbufs, and can see the effect of bo caching on the rate, so replace the fixed number of iterations with a timeout and count how many batches we could submit instead. Similarly, we now do not need to wait for all of our queue to complete as we can tell the kernel to drop the queue instead. References: https://bugs.freedesktop.org/show_bug.cgi?id=107936 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-03-06i915/gem_exec_nop: Drop signal-all subtest from CIAshutosh Dixit
igt@gem-exec-nop@signal-all runs a single uninterrupted loop for 150 sec. This results in the test being one of the longest execution times in CI runs. According to mailing list discussions the test provides little of value. Therefore drop it from the CI. Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Petri Latvala <petri.latvala@intel.com>
2019-03-05gem_ctx_isolation.c - Gen11 enabling for context isolation testDale B Stimson
This patch is a change to igt file tests/i915/gem_ctx_isolation.c to add and enable Gen11 support. This patch accounts for whitelisted registers appropriately for the different Gen levels. This patch accounts for the changed MMIO offsets of Gen11. This patch redefines MAX_REG from 0x40000 to 0x200000 due to the larger total register space for Gen11 mmio offsets. A current Gen11 SKU has two video engines (with indexes 0 and 2, for VCS0 and VCS2), with VCS1 not being used. Current kernel and igt limitations only allow for VCS0 and VCS1. Those limitations are in the process of being removed. See for example the RFC/PATCH series on igt-dev from Andy Shyti: [igt-dev] [RFC PATCH v9 0/5] new engine discovery interface which depends on in-process kernel "media scalability" patches. Lacking the above infrastructure at the moment: The array of registers to be tested includes VCS2 and VCS3 registers. They are present as a provision for the future, but they will not actually be tested as those engines are not yet known to the underlying infrastructure. When run on Gen11 this patch skips the sub-tests for the non-existent VCS1 with these warnings: Test requirement not met in function gem_require_engine, file ../lib/igt_gt.h:114: Test requirement: gem_has_engine(gem_fd, class, instance) Signed-off-by: Dale B Stimson <dale.b.stimson@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-03-05i915/gem_busy: Another year, another ABI bumpChris Wilson
The ABI ring ids are dead. Long live our classes. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-03-04automake: Make librt mandatoryTvrtko Ursulin
librt is required by libintel_tools so express it as mandatory in autoconf and also drop explicit mentions from Makefile.am. This also fixes a build warning of: tests/Makefile.am:134: warning: variable 'pm_rc6_residency_LDADD' is defined but no program or tests/Makefile.am:134: library has 'pm_rc6_residency' as canonical name (possible typo) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-03-02tests/kms_cursor_legacy: Add missing munmapNischala Yelchuri
Added munmap and replaced hard-coded values with PAGE_SIZE macro. Cc: Easwar Hariharan <easwar.hariharan@intel.com> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Nischala Yelchuri <nischala.yelchuri@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-03-02i915/gem_ctx_isolation: Sanitycheck nonpriv accessChris Wilson
Verify that our list of nonpriv registers exist and are writable. v2: TD_CTL has a write_mask of 0xffff instead of being a masked register. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Dale B Stimson <dale.b.stimson@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Dale B Stimson <dale.b.stimson@intel.com>
2019-03-01tests: Use igt_device_set/drop_masterDaniel Vetter
Suggested by Chris. v2: Use "" for local includes (Chris). Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2019-03-01tests: s/core_prop_blob/kms_prop_blobDaniel Vetter
It's a kms test, name it accordingly. Also sort the build lists while at it, one test got misplaced. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-03-01tests:core_prop_blob: Drop local_ prefixesDaniel Vetter
Been a while this landed in libdrm ... Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-03-01tests/kms_addfb_basic: Check that only the owner can rmfbDaniel Vetter
Just realized we don't seem to have any testcase for this. Fill this gap asap! v2: Use igt_device_set/drop_master (Chris) v3: Use "" for local includes (Chris) Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-02-28lib: Incrementally mlock()Chris Wilson
As we already have the previous portion of the mmap mlocked, we only need to mlock() the fresh portion for testing available memory. v2: Fixup the uint64_t pointer arithmetric and only use a single mmap to avoid subsequent mlock fail (for reasons unknown, but bet on mm/). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Caz Yokoyama <Caz.Yokoyama@intel.com> Reviewed-by: Caz Yokoyama <Caz.Yokoyama@intel.com>
2019-02-27igt/drm_read: Exercise waking up the next waiterChris Wilson
Try to hit a bug in the kernel whereby a short reader does not wakeup the next waiter (on the same fd) leading to forever blocking. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-02-27tests/kms_plane_alpha_blend: Paint FBs with cairo source operatorNicholas Kazlauskas
Cairo defaults to using a blended fill, so when IGT tries to paint on top of a framebuffer in these tests with an alpha less than 1.0 the previous framebuffer contents will still be present underneath. On amdgpu this is an issue because the framebuffer is created in an unitialized state and can have contents from previous tests still within memory. This patch explicitly sets the cairo filling operator to SOURCE to overwrite the contents when performing fills with alpha < 1.0 in this test. It also fixes the creation of the transparent FB. My guess as for why this test previously passed on i915 is because the primary FB was also black, so the CRC would match even if the black overlay plane was partially transparent. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-02-27kms_chamelium: Fix test failures from missing outputs/unsupported formats, v2.Maarten Lankhorst
Newer platforms don't support this format, but the tests don't check if the format is supported on the primary plane. After enabling an output we also don't refresh the output connection, calling igt_output_set_pipe(output, PIPE_NONE) will do so, and prevent skips because no connected output is detected. Changes since v1: - Use igt_plane_has_format_mod (Ville). Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-02-27tests/kms_pipe_crc_basic: Only test a single output per pipe.Maarten Lankhorst
Instead of iterating over all outputs, use igt_get_single_output_for_pipe to only test a single output. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-02-27tests/kms_pipe_crc_basic: Use for_each_pipe_static().Maarten Lankhorst
Instead of duplicating for_each_pipe_static functionality, use the actual macro, and the same for kmstest_pipe_name. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-02-26lib/i915: Move mmap IOCTLs wrappers into separate fileAntonio Argenziano
Move all mmap flavours and support function to separate file in i915 folder. This helps with moving i915 specific functions away from common libraries. v2: - Autotools still exists. (Petri) - Include gem_mman.h directly. (Chris) v3: - Keep includes explicit. (Chris) Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-02-26i915/gem_eio: Skip context creation tests if lacking contextsChris Wilson
If the device doesn't support contexts, we expect them to fail with -ENODEV before reporting -EIO if wedged. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2019-02-26i915/gem_ctx_switch: Use minimum qlen over all engines and measure switchesChris Wilson
Not all engines are created equal, and our weighting ends up favouring the many faster xCS rings at the expense of RCS. Our qlen estimation also failed to factor in the context switch overhead, which is a significant factor for nop batches. So we oversubscribe the number of batches submitted to RCS and end up waiting for those to complete at the end of our subtest timeslice. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Caz Yokoyama <caz.yokoyama@intel.com> Reviewed-by: Caz Yokoyama <caz.yokoyama@intel.com>
2019-02-26chamelium: Add a display test for randomized planesPaul Kocialkowski
This introduces a new test for the Chamelium, that sets up planes with randomized properties such as the format, dimensions, position, in-framebuffer offsets and stride. The Chamelium capture is checked against the reference generated by cairo with either a CRC or the checkerboard-specific comparison method. This test also includes testing of the VC4-specific T-tiled and SAND-tiled modes, in all formats supported by the hardware. Since this test does not share much with previous Chamelium display tests (especially regarding KMS configuration), most of the code is not shared with other tests. This test can be derived with reproducible properties for regression testing in the future. For now, it serves as a fuzzing test Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
2019-02-26chamelium: Move the YUV tests over to the checkerboard checking methodPaul Kocialkowski
Now that the checkerboard frame checking method is available through the frame match helper, make use of it in YUV tests to increase the reliability of the results. The analog test tends to provide false positives, which are properly detected by the checkerboard method in most instances. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>