summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-24lib/gen6_render: Cosmetic changes in codeKalamarz, Lukasz
This patch applies coding standard into gen6_render library. No functional changes were made. Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2018-04-24lib/gen6_render: Reorder registers and fields definitionsKalamarz, Lukasz
This patch is reordering registers and related shifts/fields to be in one place and also is sorting registers definitions in an ascending order by it memory address. v4: Fixed missing values and corrected commit message Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2018-04-24lib/gen6_render: Removal of duplicated definitionsKalamarz, Lukasz
Remove duplicated registers, shifts and values from lib. Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2018-04-24test/gem_exec_schedule: Check each engine is an independent timelineChris Wilson
In the existing ABI, each engine operates its own timeline (fence.context) and so should execute independently of any other. If we install a blocker on all other engines, that should not affect execution on the local engine. v2: Move the requirements checks from the fixture to subtest so that the test list is stable (Antonio) v3: Protect SNB from the evil MI_STORE_DWORD. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-04-23igt/gem_ppgtt: Flush the driver to idle before counting leaksChris Wilson
I have a cunning plan to make the vma open/close lazy to cache frequent reallocations (as buffers are passed between applications, e.g. DRI). However, this will mean that we will not be immediately closing vma and so need to tell the kernel to process the idle handlers before checking for leaks. 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>
2018-04-19meson: Install amdgpu tests with their subdirectoryPetri Latvala
The amdgpu tests in tests/amdgpu got installed directly into $libexecdir before, but test-list.txt still referred to them as amdgpu/$testname. This fixes running scripts/run-tests.sh -l with the install directory as IGT_TEST_ROOT and, I can imagine, actually running them from install directory (untested). It also removes one FIXME comment for an internet point. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2018-04-19trace.pl: Move min/max timestamp lookup to last loopTvrtko Ursulin
It makes sense to fetch the min and max timestamp only after the last sort of the array. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: John Harrison <John.C.Harrison@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2018-04-19trace.pl: Move sortQueue near its userTvrtko Ursulin
Just to clear up some space for incoming code refactoring. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: John Harrison <John.C.Harrison@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2018-04-18lib/intel_batchbuffer: Reuse gen9_media_fill on Gen 10Katarzyna Dec
Media fill function can be reused on Gen10. Code has not changed. Let's reuse gen9. Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Reviewed-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
2018-04-18scripts/trace.pl: Simplify 'end' & 'notify' generationJohn Harrison
Delay the auto-generation of end/notify values until the point where everything is known. As opposed to potentially generating them multiple times with differing values (in the case of 'incomplete' entries). v2: More complete description. [Tvrtko] Signed-off-by: John Harrison <John.C.Harrison@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-04-18scripts/trace.pl: Calculate stats only after all mungingJohn Harrison
There are various statistics being calculated multiple times in multiple places while the log file is being read in. Some of these are then re-calculated when the database is munged to correct various issues with the logs. This patch consolidates the calculations into a separate pass after all the reading and munging has been done. Note that this actually produces a different final output as the 'execute-delay' values were not previously being re-calculated after all the fixups. Thus were based on an incorrect calculation. v2: Reduce scope of some local variables [Tvrtko] Signed-off-by: John Harrison <John.C.Harrison@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-04-18scripts/trace.pl: Sort orderJohn Harrison
Add an extra level to the databse key sort so that the ordering is deterministic. If the time stamp matches, it now compares the key itself as well (context/seqno). This makes it much easier to determine if a change has actually broken anything. Previously back to back runs with no changes could still produce different output, especially when adding extra debug output during the calculations. As the comparison test is now more than a single equation, moved it out into a separate sort function. v2: Re-work sort func for readability/performance [Tvrtko] Signed-off-by: John Harrison <John.C.Harrison@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-04-18scripts/trace.pl: More hash key optimisationsJohn Harrison
Cache the key count value rather than querying the hash every time. Also assert that the database does not magically change size after the fixups. v2: Rename variable according to style guide [Tvrtko] v3: Reverted accidental style change and added a blank line. [Tvrtko] Signed-off-by: John Harrison <John.C.Harrison@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-04-18trace.pl: Catch-up with tracepoint renamesTvrtko Ursulin
i915 renamed the request related tracepoints so catch up with that. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> # irc
2018-04-18igt/gem_exec_schedule: Exercise "deep" preemptionChris Wilson
In investigating the issue with having to force preemption within the executing ELSP[], we want to trigger preemption between all elements of that array. To that end, we issue a series of requests with different priorities to fill the in-flight ELSP[] and then demand preemption into the middle of that series. One can think of even more complicated reordering requirements of ELSP[], trying to switch between every possible combination of permutations. Rather than check all 2 billion combinations, be content with a few. v2: Add a different pattern for queued requests. Not only do we need to inject a request into the middle of a single context with a queue of different priority contexts, but we also want a queue of different contexts, as they have different patterns of ELSP[] behaviour. v3: Fixup the naming clash from copy'n'pasting Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2018-04-17igt/prime_mmap: Test for userptr support firstChris Wilson
Before we start trying to use userptr to test interoperability with PRIME, we first need to check that the device in question has userptr support. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106013 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-04-17tests/kms_frontbuffer_tracking: Ignore FBC errors due mode is too largeSouza, Jose
Depending on the default mode size, some tests will fail because it will exceed the maximum size that hardware tracking can handle, mostly because hardware tracking do not take in care the X and Y offsets, so the plane size + offsets needs be smaller or equal to hardware tracking limmits. Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105680 Reviewed-by: Marta Lofstedt <marta.lofstedt@intel.com>
2018-04-17scripts: Use https URL to download piglitSouza, Jose
This makes life easier for users behind network proxies. A simple 'export https_proxy=<proxy url>' will make this works, today user needs to do a more complicated setup in ssh/git with proxy information. Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2018-04-14tests/kms_color: Enable color tests for AMDGPULeo (Sunpeng) Li
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-04-14tests/kms_color: Do not mask LUT for non i915 drivers.Leo (Sunpeng) Li
Masking assumes a direct relationship between the software LUT structure, and hardware LUT. This is not always the case. On AMD hardware for example, the hardware LUT is composed of piecewise-linear segments, with end-point spaced exponentially along the X axis, while software LUT is spaced linearly. Masking the LUT for the purpose of truncating the resulting colors won't work here. v2: Add commit message and sign off. Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-04-14tests/kms_color: Fill entire frame when painting rectanglesLeo (Sunpeng) Li
Fill entire frame to avoid garbage data from being included in CRC calculations. Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-04-12lib: Adjust refactored gpu_fill library to our coding styleKatarzyna Dec
While I am making changes in gpgpu and media fill area let's adjust code to our coding style. v2: rebased on series new version (patch is now last from series so change seems larger) v3: rebased Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
2018-04-12lib/gpgpu_fill: Add missing configuration parameters for gpgpu_fillKatarzyna Dec
There are missing parameters for Gen8 configuration of gpgpu_fill that are causing GPU hangs on newer hardware. We need to set the number of threads in TG in gen8_fill_interface_descriptor. This field was omitted (apparently without any side effects), but according to bspec from BDW this field cannot be set to 0. We also need to use pipeline selection mask to gen9_gpgpu_fillfunc, which is necessary from SKL. v2: rebased on refactored library v3: Removed replacing gen7_emit_interface_descriptor_load with gen8 version in gen9_gpgpgu_fillfunc, because during refactoring gen8 function was removed. v4: rebase on series new version Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
2018-04-12lib: Remove duplications in gpu_fill libraryKatarzyna Dec
After moving all functions needed for gpgpu and media fill testing there is a lot of duplications which can be removed: Library media_fill_gen8 and media_fill_gen8lp for CHT was removed, media state flush for !CHT was added to gen7_emit_media_objects. Many gen8 functions were replaced with gen7 version with devid parameter (gen7_fill_curbe_load, gen7_emit_interface_descriptor, gen7_fill_binding_table, gen7_emit_media_objects). Unified fill kernel function so it is applicable to all gens and both media and gpgpu (merged gen7_fill_media_kernel and gen8_fill_media_kernel). Duplicated constants like GEN8_MEDIA_VFE_STATE, GEN8_MEDIA_CURBE_LOAD, GEN8_MEDIA_INTERFACE_DESCRIPTOR_LOAD, GEN8_MEDIA_OBJECT were replaced by GEN7 version. However this constants were not removed from gen8_media.h library, because they are used by other tests for Gen8+. More refactoring in this gen*_media.h libraries is needed. It seems that further unification of *_fillfunc functions will introduce more confusion in understanding what the tests are doing and what were changes between Gens. v2: Moved some reduntant changes from Move gpgpu/media fill to gpu_fill... to this patch. Applied comments from review. v3: rebase Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
2018-04-12lib: Move common gpgpu/media fill functions to gpu_fill libraryKatarzyna Dec
Gpgpu_fill and media_fill libraries are very similar and many functions can be shared. I have created library gpu_fill with all functions needed for implementing gpgpu_fill and media_fill tests for all Gens. For reviewing and debugging purposes this patch should be only moving functions from few libraries to one removing functions identical for both media and gpgpu. Places in the code that required more changes: Removing gen7_fill_gpgpu_kernel function that is identical to gen7_fill_media_kernel and introduces conflict with moving genX_fill_interface_descriptor, which are the same for media and gpgpu. Function gen8_fill_media_kernel is not removed in this patch (although it is identical with gen7 version), because this patch should be as much as possible functions movement. gen8_fill_interface_descriptor was unified for media and gpgpu by adding kernel and its size as a parameter (this parameters were missing in media gen8, gen8lp and gen9 functions) gen8_emit_state_base_address was unified, the one for gpgpu was configured like it would be using indirect state (while we are using CURBE). I have checked that media fill version (OUT_BATCH(0 | BASE_ADDRESS_MODIFY)) works fine on gpgpu gen8 and newer. v2: Changed code layout. GenX_fill_media_kernel was identical to genX_fill_gpgpu_kernel so this function was unified to gen7_fill_kernel. There were 2 very similar functions gen8_emit_state_base_address for media and gpgpu, where the one for gpgpu was configured like it would be using indirect state (while we are using CURBE). I have checked if media fill version works fine in gpgpu test on Gen8 and unified them. v3: Made patch easier for reviewing moving changes unifying code for various gens (that were included v1) to other patch, leaving only the most critical code changes. v5: Added copyrights and #ifndef to gpu_fill.h v5: Added copyrights to gpu_fill.c Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
2018-04-12igt/kms_plane_scaling: Open DRM_MASTERChris Wilson
Modesetting requires DRM_MASTER privileges, so use drm_open_driver_master() to assert that we do acquire them. References: https://bugs.freedesktop.org/show_bug.cgi?id=105997 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
2018-04-12tests/gem_close_race: Wait for work to complete before terminating testAntonio Argenziano
When running a single subtest, outstanding work might hang after the test ends therefore escaping detection by the hang_detector. v2: - Update commit message. (Chris) Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-04-11tests/perf_pmu: Avoid RT thread for accuracy testTvrtko Ursulin
Realtime scheduling interferes with execlists submission (tasklet) so try to simplify the PWM loop in a few ways: * Drop RT. * Longer batches for smaller systematic error. * More truthful test duration calculation. * Less clock queries. * No self-adjust - instead just report the achieved cycle and let the parent check against it. * Report absolute cycle error. v2: * Bring back self-adjust. (Chris Wilson) (But slightly fixed version with no overflow.) v3: * Log average and mean calibration for each pass. v4: * Eliminate development leftovers. * Fix variance logging. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-04-11tests/kms_frontbuffer_tracking: Save runtime by removing sleep.Lofstedt, Marta
The kms_frontbuffer_tracking@*suspend subtests spend 20 seconds sleeping around igt_system_suspend_autoresume. I find no other igt test that require sleeping in relation to suspend-resume, so it should be removed. Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2018-04-11tools/aubdump: Fix ISO C90 forbids mixed declarations and code warningTvrtko Ursulin
Back to a clean build with no warnings, at least for me. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Scott D Phillips <scott.d.phillips@intel.com> Reviewed-by: Scott D Phillips <scott.d.phillips@intel.com>
2018-04-11lib/igt_debugfs: Add timeouts to opening pipe CRC fd.Maarten Lankhorst
This will fix the PSR tests to fail slightly faster, since they wait indefinitely for a CRC that never comes during open. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> [mlankhorst: Increase timeout to 10 seconds for HSW CRC w/a.] Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
2018-04-11lib/igt_kms: Reset FIFO underruns on first commit after init()/reset().Maarten Lankhorst
When we set the test to its first state, we will clear FIFO underrun status through the debugfs, so that any underruns caused by the tests will not affect other tests. In particular this also resets the FBC FIFO underrun status, so previous failures won't affect other tests that depend on FBC. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105681 Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-04-11lib/igt_kms: Handle outputs with no modes betterMaarten Lankhorst
Pretend that outputs without modes are disabled, and try reprobing if no modes are initially detected, just in case that the reprobe will find modes. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105798 Reviewed-by: Marta Lofstedt <marta.lofstedt@intel.com>
2018-04-10lib: Dump meminfo and slabinfo if we complain about insufficient memoryChris Wilson
All too frequently, we fail our memory checks to a leak in the driver. While we give every opportunity for the driver to release the memory before we fail, if we do dump the meminfo and slabinfo, if available, so we can assign blame^W^W resolve the problem quickly. References: https://bugs.freedesktop.org/show_bug.cgi?id=105967 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Martin Peres <martin.peres@linux.intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2018-04-09tests/perf: fix gen8 small cores whitelist expectationLionel Landwerlin
We don't expect to access those registers on Braswell. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105593 Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2018-04-09kms_frontbuffer_tracking: Remove unnecessary modeset from get_sink_crc.Maarten Lankhorst
get_sink_crc() wants the eDP panel enabled to collect a CRC, but this is already required for opening the pipe CRC. This was broken in the conversion to igt_display, because the call to setup_sink_crc was moved. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105503 Reported-by: Marta Löfstedt <marta.lofstedt@intel.com>
2018-04-06igt/gem_eio: Drop DRM_MASTER so we can reacquire it in the subtestsChris Wilson
As we reopen the fd for each subtest, and we need a DRM_MASTER, we need to drop master on the original before we are allowed to claim DRM_MASTER on the second. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105922 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>
2018-04-06lib: Acquire master for pollable spinbatch on gen4/5Chris Wilson
gen4/5 require a DRM_MASTER to use MI_STORE_DW, make it so. 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>
2018-04-06igt/gem_eio: Require context support before creationChris Wilson
gem_context_create() nowadays assumes you have already checked for context support and asserts for any error. So check first. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105924 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>
2018-04-06tests/kms_psr_sink_crc: Save runtime by not waiting in crc functionMarta Lofstedt
The get_sink_crc function usleep(300000) with motivation: "Now give a time for human eyes". However, the function has already exited early on igt_interactive_debug, so no human is waiting. Also, waiting for keypress is obsolete when not in igt_interactive_debug mode. Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
2018-04-05blacklist: Don't run tests on pipe-d, pipe-e or pipe-fLofstedt, Marta
There is currently no hardware in our labs that supports pipe-d, pipe-e nor pipe-f. Skipping takes time, so all tests on these pipes should be blacklisted. Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-04-05blacklist: Don't run DRRS test on Intel CI systemLofstedt, Marta
Skipping takes time, specifically for the big amount of drrs related kms_frontbuffer_tracking tests. Since we currently don't have any system set up with DRRS panels, blacklisting all those test will save time, and we can avoid the need to increase the Jenkins timeout in order to solve the Bugzilla below. V2: Changed typo and added comment. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105617 Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-04-04tests/kms_getfb: Use fixtures and subtest groupsDaniel Stone
Make sure we gently skip when required features (CCS, getfb2) are not supported on the running kernel, and clean up properly after ourselves. Signed-off-by: Daniel Stone <daniels@collabora.com> Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
2018-04-04Test that register types are accepted in all valid forms.Adam Sampson
The assembler should accept ub, :ub, UB and :UB. Signed-off-by: Adam Sampson <ats@offog.org> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-04-04Use flex -i when building with meson.Adam Sampson
When built with automake, the assembler's tokeniser is built with -i, making it case-insensitive. This wasn't being done with meson. (The symptom was build failures in intel-vaapi-driver, which uses register types like ":ub". In lex.l, they're written as ":UB", so the lexer was rejecting them without -i.) Signed-off-by: Adam Sampson <ats@offog.org> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-04-03tests/gem_eio: Add reset and unwedge stress testingTvrtko Ursulin
Reset and unwedge stress testing is supposed to trigger wedging or resets at incovenient times and then re-use the context so either the context or driver tracking might get confused and break. v2: * Renamed for more sensible naming. * Added some comments to explain what the test is doing. (Chris Wilson) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-04-03tests/gem_eio: Never re-use contexts which were in the middle of GPU resetTvrtko Ursulin
Contexts executing when reset triggers are potentialy corrupt so trying to use them from a subsequent test (like the default context) can hang the GPU or even the driver. Workaround that by always creating a dedicated context which will be running when GPU reset happens. v2: * Export and use gem_reopen_device so the test works on old gens as well. (Chris Wilson) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-04-03tests/kms_plane_scaling: fb height to be min 16 for NV12Vidya Srinivas
Per Bspec, fb height needs to be min 16 for NV12 (YUV planar formats). We also need the src height and width to be multiple of 4. Reviewed-By: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2018-03-30tests/kms_getfb: Split property-ID get into helperDaniel Stone
We'll want to reuse this, so split it out into a (smaller!) helper. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-03-30tests/kms_getfb: Test we reject CCS buffersDaniel Stone
The getfb ioctl only supports returning a single buffer handle (mirroring addfb), which means it should refuse to return us back CCS buffers. This is enforced by the kernel as of b24791fe00f8. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>