Age | Commit message (Collapse) | Author |
|
Trying to run as many cursor updates during a nonblocking modeset won't
work, because both crtc's might be involved in the modeset. Instead
try to run as many cursor updates on both crtc's at the same time,
while trying to queue page flips in between.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This fixes the test on older platforms that don't have ARGB support.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This is better because some outputs may not be used on all pipes. This
correctly causes some tests to skip on CHV/VLV when there is no output
for a given pipe.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
This will cause multiple calls to igt_output_set_pipe, but that's
harmless. This function should be used since not all outputs may be
used on pipe B and C.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Force the first write to be queued and so exercise a different exec
path.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Testcase for plane visibility after atomic modesets. The idea of the test
is the following:
- draw a blue screen with high resolution
- enable a yellow plane, visible, in lower-left corner
- set a new lower resolution mode (1024x768) that makes plane invisible
- check from debugfs 'i915_display_info' that the plane is invisible
- switch back to higher resolution mode
- check from debugfs 'i915_display_info' that the plane is visible again
- repeat number of iterations, default 64
v2: allow test to be run on non-Intel drivers (Daniel)
moved test for plane visibility to as helper function (Daniel)
moved get_vblank() function to be part of helper functions (Daniel)
rename 'tiling' parameter as 'modifier' (Daniel)
select a mode from a list so that the plane should be invisible.
use default 1024x768 mode only as a fallback if decent mode has not
been found (Daniel)
add tiling MODE_NONE (Daniel)
v3: draw as many overlay planes as the platform supports + cursor plane
on top of each other on lower-left corner
skip the test if i915_display_info file is not available
test plane visibility with igt_assert_plane_visibility() function
drop option for multiple test iterations (Daniel Vetter)
v4: switch 'for_each_connected_output()' to
'for_each_valid_output_on_pipe()'
skip Y and Yf tiling for generations older than 9 (Maarten)
Cc: Daniel Stone <daniel@fooishbar.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
|
|
The tests shouldn't pass if nothing has been tested.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Not all outputs are valid on all pipes.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
The test is that kernel load detection works as intended,
and doesn't cause any vblank spam.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tested-by: Lyude <cpaul@redhat.com>
|
|
In CI system, the default 64 iterations of this test may cause CRC overflow
warnings in dmesg when debugfs is enabled in kernel config. To keep dmesg
warning noise in minimum, let's run this test only once by default.
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
And skip when no valid output is found.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Use the proper iterator macros to prevent ever having an invalid config.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
|
|
Exploratory test into behaviour when reusing bo between batches.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
References: https://bugs.freedesktop.org/show_bug.cgi?id=99274
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Don't just destroy the ones from the default format.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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.
|
|
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
The opposite direction of to_user_pointer() is from_user_pointer().
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>
|