summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-01-30gem_exec_nop: Test context concurrency and engine featurescontext-bb-balancingTvrtko Ursulin1-12/+82
Two new subtests, bsd-concurrent and bsd-concurrent-hevc to verify the context concurrency and engine features API. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-01-30gem_ctx_params: Test the new context concurrency parameterTvrtko Ursulin2-1/+24
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-01-30gem_exec_params: Tests for engine featuresTvrtko Ursulin1-1/+20
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-01-10lib/igt_kms: Remove output->valid againMaarten Lankhorst2-15/+13
This time add an explicit variable force_reprobe, which is set to true on initial probe and might be set again (in a future patch) after a hpd event. Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-07Revert "lib/igt_kms: Remove output->valid"Chris Wilson2-8/+12
This reverts commit 20258f2353a266f8fe19e7392eb282e58dd87f6a. This completely breaks igt running on bare hardware where it is required that igt probes the connectors before use. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-06lib: Always unbind the fbcon around igtChris Wilson1-0/+3
The fbcon imposes unpredictable latencies on tests - each drmIoctl has been observed to trigger two 650us calls to console_unlock() as it flushes printk buffer for the DRM_DEBUG around the ioctl. This makes tests such as gem_wait fail as they expect the ioctl to be spent on the operation under test not clogged up by the console. References: https://bugs.freedesktop.org/show_bug.cgi?id=99130 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-05kms_frontbuffer_tracking: fix sink CRC detection regressionPetri Latvala1-0/+2
Don't forget to mark the CRC as not supported if there are no eDP panels. Regression introduced by: commit 8aa7ea4f84b0e1384b78f4cc9b136ea5b641055a Author: Paulo Zanoni <paulo.r.zanoni@intel.com> kms_frontbuffer_tracking: refactor sink CRC reliability handling v2 (from Paulo): - Convert Petri's email patch to an actual git patch - Add an extra assertion, just in case - Add Petri's s-o-b tag (authorized via IRC) Signed-off-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2017-01-05kms_pipe_color: Use for_each_valid_output_on_pipe.Maarten Lankhorst1-11/+15
And skip when no valid output is found. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_ccs: Fix testcase.Maarten Lankhorst1-10/+14
Use for_each_pipe_with_valid_output, and iterate correctly over all crtc's. pipe-*-crc-* didn't show up in the test list either because display is not initialized, fix that one too. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05lib/igt_kms: Remove output->validMaarten Lankhorst2-12/+8
None of the tests depend on it any longer, so it's time to kill. :) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_rotation_crc: Stop looking at output->validMaarten Lankhorst1-72/+108
Use the proper iterator macros to prevent ever having an invalid config. For the record, this test seemed to have bitrotten and doesn't currently pass. This might have happened when fixing atomic commit support, but it definitely needs some love. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_pipe_crc_basic: Stop looking at output->validMaarten Lankhorst1-11/+4
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_mmio_vs_cs_flip: Stop looking at output->validMaarten Lankhorst1-31/+9
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_mmap_write_crc: Stop looking at output->validMaarten Lankhorst1-21/+8
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_flip_event_leak: Stop looking at output->validMaarten Lankhorst1-15/+4
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_fence_pin_leak: Stop looking at output->validMaarten Lankhorst1-15/+5
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_fbc_crc: Stop looking at output->validMaarten Lankhorst1-41/+30
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_cursor_crc: Stop looking at output->validMaarten Lankhorst1-28/+16
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_chv_cursor_fail: Stop looking at output->valid.Maarten Lankhorst1-13/+3
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_pwrite_crc: Stop looking at output->valid.Maarten Lankhorst1-21/+8
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05prime_mmap_kms: Stop looking at output->valid.Maarten Lankhorst1-30/+18
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05kms_vblank: Stop looking at output->valid.Maarten Lankhorst1-28/+16
Use the proper iterator macros to prevent ever having an invalid config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-05tests: Add gem_exec_reuseChris Wilson3-1/+238
Exploratory test into behaviour when reusing bo between batches. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-04igt/gem_mmap_gtt: Tiled access to the incomplete last row is undefinedChris Wilson1-23/+35
Trying to read/write into the last tiled row is invalid since we do not allocate sufficient pages for the writes to map to (hence they get lost). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-04igt/gem_mmap_gtt: Check read/writes across a GPU resetChris Wilson1-0/+51
References: https://bugs.freedesktop.org/show_bug.cgi?id=99274 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-04kms_frontbuffer_tracking: fix compression checkingPaulo Zanoni1-17/+1
Ever since Kernel's "drm/i915: don't report compression when fbc is disabled" we've been wrongly assuming that the Kernel doesn't support compression information due to the fact that it doesn't print that specific line when FBC is not active. Fix this by just assuming that the Kernel supports it, allowing us to kill some more code. With this change, running a brand new kms_frontbuffer_tracking on super old Kernels will result in failures, but I suppose that's fine for IGT. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2017-01-04kms_frontbuffer_tracking: destroy all FBs from all formatsPaulo Zanoni1-1/+4
Don't just destroy the ones from the default format. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2017-01-04kms_frontbuffer_tracking: refactor sink CRC reliability handlingPaulo Zanoni1-21/+18
What I'm currently seeing is that sometimes the first check during setup_sink_crc() returns valid sink CRC, but then the subsequent checks return ETIMEDOUT. In these cases, we keep getting flooded by messages saying that our sink CRC is unreliable and that the results differ. This is annoying for the FBC tests where sink CRC is not mandatory. Since this case shows it's useless to try to check for sink CRC reliability before the actual tests, refactor the code in a way that if at any point we detect that sink CRC is unreliable we'll mark it as such and stop flooding the logs. For the tests where it's mandatory we'll still keep the same SKIP behavior. This refactor also allows us to just call get_sink_crc() in the setup_sink_crc() function instead of having to reimplement the same logic. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2017-01-04kms_frontbuffer_tracking: move more code to get_sink_crc()Paulo Zanoni1-5/+6
Make it check for the supported flag and decide what to do. This change will make the next patches much easier, and it's probably better to move more sink CRC logic to the sink CRC function. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2017-01-04kms_frontbuffer_tracking: fix sink CRC assertionPaulo Zanoni1-1/+2
If we already detected an error, don't try to assert the size of what we didn't read. In machines where the sink CRC is unreliable, this was failing tests where the sink CRC is not mandatory (FBC tests). With this change we won't fail anymore, we'll just print error messages saying that the sink CRC is unreliable. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2017-01-04tests/kms_draw_crc: remove unnecessary mode unset callsPaulo Zanoni1-7/+0
I couldn't think of a reason why we would need to unset the CRTCs before doing the modesets on this test, so remove all the mode unset calls. Before: $ time -p sudo ./kms_draw_crc real 44.74 $ time -p for i in $(sudo ./kms_draw_crc --list-subtests); do sudo ./kms_draw_crc --run-subtest $i; done real 121.61 After: $ time -p sudo ./kms_draw_crc real 7.40 $ time -p for i in $(sudo ./kms_draw_crc --list-subtests); do sudo ./kms_draw_crc --run-subtest $i; done real 14.32 Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2017-01-04configure: Include ax_gcc_func_attribute.m4Chris Wilson1-0/+226
From the GNU archives: http://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-04tests/kms_ccs: Add test for render compressionTomeu Vizoso3-0/+309
Add a few subtests that check that lossless compressed render targets are properly displayed. Also test a few error conditions. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Acked-by: Ben Widawsky <ben@bwidawsk.net>
2017-01-04igt/gem_exec_fence: Check sync_file->status after the fence is signaledChris Wilson3-1/+24
After the fence is signaled, the status feed reports whether or not the request completed successfully. We set this to -EIO if a hang was detected. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-03igt_core: add igt_constructorLyude2-0/+14
This is a simple macro for executing a block of code at the beginning of intel-gpu-tools, before any tests have been ran. Useful for initialization of global resources used in IGT libraries. Signed-off-by: Lyude <lyude@redhat.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Changes since v1: - Add the line number into the name of the constructor function so that multiple constructors may be used per-file.
2017-01-03lib/intel_chipset: Add geminilake platform definitionAnder Conselvan de Oliveira2-0/+10
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-01-03lib/i915_pciids.h: Update to latest version wich includes GLK idsAnder Conselvan de Oliveira4-56/+25
Copy the include/drm/i915_pciids.h file from following kernel commit, which includes Geminilake PCI IDs. commit 8363e3c3947d0e22955f94a6a87e4f17ce5087b4 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Date: Thu Nov 10 17:23:08 2016 +0200 drm/i915/glk: Add Geminilake PCI IDs Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2017-01-03kms_cursor_legacy: Eliminate cursor update variations.Maarten Lankhorst1-1/+41
Nail the cursor update thread to a single cpu, and run a idle busy loop on the same cpu. This will force it to the highest cpu speed, which will eliminate cpu speed variations and allows the test to pass. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2017-01-02README: add libkmod-dev and libprocps-dev to dependenciesJani Nikula1-0/+2
The list is perpetually out of date, but giving an idea of what the dependencies are is helpful. Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2017-01-02lib: Wrap conversion from u64 to pointersChris Wilson4-5/+15
The opposite direction of to_user_pointer() is from_user_pointer(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-02lib: Mass conversion to to_user_pointer()Chris Wilson7-13/+13
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-02igt: Mass conversion to to_user_pointer()Chris Wilson61-220/+220
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-02lib/ioctl_wrappers.h: Fix to_user_pointer() helperRobert Foss1-2/+2
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-02lib/ioctl_wrappers.h: Add to_user_pointer() helperRobert Foss1-0/+11
Add to_user_pointer() helper function which helps cast pointers properly when being used with ioctls. Signed-off-by: Robert Foss <robert.foss@collabora.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-02tests/perf: Fix pointer length compilation errors on 32-bit systemsRobert Foss1-21/+21
Fix pointer length compilations errors on 32-bit systems. Signed-off-by: Robert Foss <robert.foss@collabora.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-12-31igt/kms_addfb_basic: Try changing tiling on the framebuffer [addfb2]Chris Wilson1-1/+1
If we request the object to be tiled with the same tiling as it currently has, the kernel may spot the no-op and report success. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-12-30igt/kms_addfb_basic: Try changing tiling on the framebufferChris Wilson1-1/+1
If we request the object to be tiled with the same tiling as it currently has, the kernel may spot the no-op and report success. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-12-28intel-ci: Remove non-existing test from the list.Maarten Lankhorst1-1/+0
This test was removed in commit 7baf4eef259742c9e76bd43d3e1a3849a208abbc Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Date: Wed Dec 21 18:26:54 2016 +0100 kms_cursor_legacy: Make tests less strict. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-12-27kms_cursor_legacy: Remove extra /2.Maarten Lankhorst1-1/+0
Kept in the previous commit by accident. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-12-27kms_cursor_legacy: Run cursor updates only for a quarter of the time.Maarten Lankhorst1-35/+45
Because in the ideal case we currently wait 50% of the time for every frame, on some machines cpu scaling gets in the way when we idle a lot and will cause the machine to throttle to a lower cpu speed. This causes a failure because we may end up missing vblanks. Work around this by only running for 1/4th of the time at max speed, even on low cpu speeds it will be less likely to run into issues then. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>