summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2019-01-29automake: Remove VC4/V3D build supportDaniel Vetter
Eric is using meson nowadays. v2: Fix up the test filter, meson lists now contain more than in the automake lists. Cc: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-01-29automake: Ditch all EXTRA_DIST directivesDaniel Vetter
We're not using automake to build tarballs anymore. Acked-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-01-29tests/core_auth: Merge getclient subtestsDaniel Vetter
Emil has another auth test which could use the check_auth function, so best to merge them all. We need a subtest group and put the tests which need to fully control who's master and how many open drm fd there are first. Cc: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-01-29tests/gem_exec_capture: Compare instead of assign in an assertPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-01-28tests: Add variable refresh rate testsNicholas Kazlauskas
There are 3 tests for basic variable refresh rate functionality. The tests measure flipping at the average between the current mode refresh rate and the minimum supported variable refresh rate. It tests that VRR is enabled and that the difference between flip timestamps converges to the requested rate. It also tests this under both S3 and DPMS. Potential ideas for future tests: - Test behavior inside VRR range with a stepping test - Test behavior outside of VRR range - Multi-monitor (limited by no async pageflips in DRM atomic API) Cc: Harry Wentland <harry.wentland@amd.com> Cc: Leo Li <sunpeng.li@amd.com> Cc: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
2019-01-28tests/kms_color: Assert gamma look up table sizesPetri Latvala
If the properties for gamma tables exist, their sizes must be non-zero. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2019-01-28tests: Make a fb-tiling subtest to check for invalid tiling changes.Maarten Lankhorst
In 2013 we prevented changing the tiling of an active framebuffer: commit 80075d492f8773209e26d11d6bb13ba624ef95a4 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Wed Oct 9 21:23:52 2013 +0200 drm/i915: prevent tiling changes on framebuffer backing storage After this we no longer have any use for the bad-tiling subtest, and only have to make sure changing tiling on a fb is not allowed. Remove the original bad-tiling subtest, and add a i915_fb_tiling subtest for this case. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> [mlankhorst: Fix build system changes] Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2019-01-28tests/kms_rotation_crc: Fix multiplane-rotation-cropping* testsJuha-Pekka Heikkila
Make certain viewports are divisible by four due to intel hw workarounds for NV12. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-01-27tests/kms_flip: Add test to check suspend/resumeShayenne Moura
This patch adds one test to evaluate suspend/resume operations using kms_flip. v2: Reduce test time to 10 (Daniel) Signed-off-by: Shayenne Moura <shayenneluzmoura@gmail.com> Reviewed-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
2019-01-24i915/gem_mmap_gtt: Reset faster and longer to catch fencing errorsChris Wilson
Performing a GPU reset clobbers the fence registers, affecting which addresses the tiled GTT mmap access. If the driver does not take precautions across a GPU reset, a client may read the wrong values (but only within their own buffer as the fence will only be degraded to I915_TILING_NONE, reducing the access area). However, as this requires performing a read using the indirect GTT at exactly the same time as the reset occurs, it can be quite difficult to catch, so repeat the test many times and across all cores simultaneously. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-01-24i915/gem_exec_capture: Really confirm error capturing is enablingChris Wilson
If the device has error capturing disabled, we still allow previous error state to be cleared by a write to sysfs/error. To actually confirm that we can capture a fresh error state, we have to perform a read(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2019-01-23tests: drop openssl dependency in favor of glib sha1 implementationJani Nikula
We already depend on glib which has sha1, so we don't really need openssl just for sha1. The opensll dependency was added in commit caea9c5b3aa1 ("igt/gem_userptr: Check read-only mappings"). Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2019-01-22tests/psr: Add the same test coverage that we have for PSR1 to PSR2José Roberto de Souza
The main tests for PSR1 check if hardware tracking is detecting changes in planes when modifing it in different ways and now those tests will also run for PSR2 if supported by source and sink. v4: Dynamic generating PSR1 and PSR2 tests instead of copy and paste tests twice. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-22test/psr: Add a generic function to setup each testJosé Roberto de Souza
When the PSR2 tests were added it will be necessary switch between PSR versions, so lets add test_setup() and make it call setup_test_plane() and assert if PSR is active as it is the base for every test. Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-22lib/psr: Add PSR2 support to the remaning psr functionsJosé Roberto de Souza
Add the mode parameter to psr_enable() and psr_sink_support() so PSR1 and PSR2 can be tested separated. For now all PSR tests will run only with PSR1 and the tests for PSR2 will come in the future. Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-22lib/psr: Make psr_wait_entry and psr_wait_update aware of the PSR version testedJosé Roberto de Souza
This way we can test both PSR version separated. v4: Dropping psr_state_check() to psr_active_check() Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-22lib/psr: Rename psr_wait_exit to psr_wait_updateJosé Roberto de Souza
This is a initial preparation for PSR2 test support, as in PSR2 a update to screen could mean that PSR is still active and the screen will be update by a selective update this renamed is necessary. Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-21tests/testdisplay: Speed up testdisplay for ciVille Syrjälä
No point in sleeping 5 seconds between each modeset when running in ci. So let's just make the default sleep interval 0 seconds and leave it up to the user to bump it via -s when running interactively. On a KBL + LSPCON + a 4k HDMI display with 36 modes listed: time ./tests/testdisplay - real 3m12,026s - user 0m1,920s - sys 0m1,241s + real 0m14,681s + user 0m3,135s + sys 0m1,340s Cc: Martin Peres <martin.peres@linux.intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-01-21tests: Use correct type for callocPetri Latvala
No actual difference, size of a pointer is the same as pointer-to-pointer. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Mika Kahola <mika.kahola@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
2019-01-18tests/kms_modes_available_crc: Fix NV12 failureDhinakaran Pandiyan
The size of the UV plane is not calculated correctly - height is not tile aligned. Make use of the stride and offset values intitialized in the previous patch to calculate plane size. The next step would be to rewrite the test to make use of library functions, but for now this should fix NV12. Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-18tests/kms_available_modes_crc: Initialize fb structDhinakaran Pandiyan
The test does not initialize data->fb, initializing stride and offset is necessary to fill NV12 planes correctly. We should ideally be using library functions in place of handrolled code in this test, but let's start by fixing the failures. Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-18tests/kms_available_modes_crc: Reset output->pipe after testing it.Dhinakaran Pandiyan
Not clearing the pipe results in a test failure when the same pipe is assigned to the next output. Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Suggested-by: James Ausmus <james.ausmus@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
2019-01-17tests/kms_rotation_crc: add NV12 support for multiplane* testsJuha-Pekka Heikkila
Add NV12 support for testing where available. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-01-17tests/kms_rotation: align rendered image correctly for rotationJuha-Pekka Heikkila
rendered test image had off-by-one error in size calculation which was failing some tests on certain resolutions and plane sizes. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-01-16i915/gem_cpu_reloc: Use a self-modifying chained batchChris Wilson
Use another sensitive CPU reloc to emit a chained batch from inside the updated buffer to reduce the workload on slow machines to fit within the CI timeout. References: https://bugs.freedesktop.org/show_bug.cgi?id=108248 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-01-16igt/drv_missed_irq: Skip if the kernel reports no rings available to testChris Wilson
Some setups (e.g. guc and gen10+) can not disable the MI_USER_INTERRUPT generation and so can not simulate missed interrupts. These tests would fail, so skip when the kernel reports no tests available. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-01-16drm/drm_import_export: Replace imprecise loop-bound with timeoutChris Wilson
Use a specific timeout to exercise the race conditions, rather than a number of tries -- this prevents it burning up too many minutes under CI for little gain, we can just run it again to improve race detection. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108667 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-01-16i915/gem_userptr_blits: Only mlock the memfd once, not the arenaChris Wilson
We multiply the memfd 64k to create a 2G arena which we then attempt to write into after marking read-only. However, when it comes to unlock the arena after the test, performance tanks as the kernel tries to resolve the 64k repeated mappings onto the same set of pages. (Must not be a very common operation!) We can get away with just mlocking the backing store to prevent its eviction, which should prevent the arena mapping from being freed as well. References: https://bugs.freedesktop.org/show_bug.cgi?id=108887 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2019-01-15intel-ci: Drop gem_ctx_switch/heavy from BATChris Wilson
Th heavy variant of gem_ctx_switch does little more than provide an alternate timing for the basic gem_ctx_switch; the timing only effects the HW and does not stress the driver any differently. As such, including gem_ctx_switch/heavy provides no more basic coverage for BAT over and above the default gem_ctx_switch and i915_selftests/live_contexts. It takes around 45s, of a 600s total target time for BAT. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Acked-by: Tomi Sarvela <tomi.p.sarvela@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2019-01-14tests/psr: Share the code check if sink supports PSRJosé Roberto de Souza
The same code checking if sink supports PSR was spread into 3 tests, better move it to lib and reuse. v2: splitted previous patch into this one and the next one(Dhinakaran) Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-14lib/psr: Add a macro with the maximum lenght of i915_edp_psr_status and use itJosé Roberto de Souza
So every function reading i915_edp_psr_status can allocate a buffer long enough. Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
2019-01-14i915/gem_exec_whisper: Pass early exit onto check_boChris Wilson
If we break out of the test loop early, we may not have filled all dwords, so be careful to only check as far as we completed. Fixes: d9cd03c887a5 ("i915/gem_exec_whisper: Limit to a maximum of 150s") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109356 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-01-14amd: Use drm_open_driver(AMDGPU)Chris Wilson
Just use the normal library function, with the normal warning message for an unmatched GPU so that CI buglog can filter it. References: https://bugs.freedesktop.org/show_bug.cgi?id=109315 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Martin Peres <martin.peres@free.fr> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2019-01-14tests/amdgpu: Build amd_abm with meson tooPetri Latvala
Fixes: 738f43a54d62 ("tests/amdgpu: Add test for Adaptive Backlight Management") Reported-by: gitlab-CI Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: David Francis <David.Francis@amd.com> Cc: Leo Li <sunpeng.li@amd.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2019-01-14i915/gem_exec_whisper: Limit to a maximum of 150sChris Wilson
Each individual pass is as effective at spotting an error using the Chinese whisper as any other, so the effectiveness of adding more passes rapidly diminishes. To keep the tests bounded within time, limit a subtest to a mere 150s! Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108592 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-01-12tests/kms_cursor_crc: Add test to check extreme alpha values for cursor planeMamta Shukla
Add test to check extreme alpha values i.e. fully opaque and fully transparent for cursor plane and verify by calculating hardware and software CRC. Signed-off-by: Mamta Shukla <mamtashukla555@gmail.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
2019-01-11test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDPManasi Navare
This patch adds a basic kms test to validate the display stream compression functionality if supported on DP/eDP connector. Currently this has only two subtests to force the DSC on all the eDP and DP connectors that support it with default parameters. This will be expanded to add more subtests to tweak DSC parameters. v8 (from Manasi): * Fix the logic to scan through all connectors even if some dont support DSC/FEC (Petri) * Fix the skip test logic if no connectors support DSC to avoid false positives (Petri) * Move test clenup to run_test v7: (from Anusha) * Code Style changes.(Petri) * Use for_each_pipe() instead of for_each_pipe_static().(Petri) * Correct logic by avoiding skipping of inner for loop completely.(Petri) v6: (from Anusha) * Fix run_test() (Petri) * Fix update_display() to avoid leaks. (Petri) v5: * Fix test cleanup to avoid crash (Petri) v4: * Future proof for more test types (Petri) * Fix alphabetical order (Petri) * s/igt_display_init/igt_display_require (Petri) * Remove blank lines after return (Petri) v3: * Use array of connectors and loop through (Petri) * Also check for FEC on DP connectors (Manasi) * Add a Pipe_A restriction on DP (Ville) v2: * Use IGT wrappers for all (DK, Antonio) * Split into two subtests for eDP and DP types (Petri) Cc: Petri Latvala <petri.latvala@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com> Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2019-01-11i915/gem_tiled_wc: Reuse common gem_get_tilingChris Wilson
get_tiling == gem_get_tiling + igt_require; so do that instead of opencoding the ioctl. 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-01-11i915/gem_tiled_pread: Skip on unknown swizzlingChris Wilson
If we do not know the underlying swizzle on the HW, we do not know the full tiling pattern and cannot predict the expected results. This is often because the swizzle varies between pages and is not as constant as we naively expected. v2: gem_get_tiling() does the physical==reported check, we just need to add a require Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
2019-01-11i915/gem_ppgtt: Convert stress test to run for a fixed durationChris Wilson
Currently blt-vs-render runs for a fixed loop count, and exceeds 360s on a slow Skylake-y. It really doesn't tell us anything useful about low likelihood events after the first few seconds it takes to fill memory, so limit it to 30s (and hope that repeated runs in CI is enough to exercise the even rarer corner cases). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108039 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-01-11i915/hangman: Read a dummy byte to check sysfs existenceChris Wilson
sysfs doesn't give the driver an open() callback, so we can only report the unavailability of HW on the first read; so check read() after checking open(). Fixes: 93f0ad4b835e ("i915/hangman: Skip if disabled by the kernel") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2019-01-11intel-ci/blacklist: Exclude gem_exec_parse lriChris Wilson
These exercise a certain HW misfeature, no longer protected by the kernel cmdparser due to obsolete userspace requirements. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Acked-by: Petri Latvala <petri.latvala at intel.com>
2019-01-10i915/gem_ctx_isolation: Ignore the low bits of BB_OFFSETChris Wilson
On Skylake, BB_OFFSET seems to be unstable. Since this is an offset into the batch at the time of CS execution, it should be actively written to as we read from the register so allow it a qword of discrepancy (since the CS should be reading in qwords). This still allows us to detect dirt across the rest of the register field, should that be required. v2: restrict ignore_bits to only BIT(2) that we see fluctuate in testing (Antonio) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2019-01-10i915/hangman: Skip if disabled by the kernelChris Wilson
Some kernels may have to disable error capture for some hardware or by it being configured out. Since it is conditionally available, asserting it exists is not an actual requirement. For hardware where we are unable to provide error state capture, skip. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
2019-01-08tests/amdgpu: Add test for Adaptive Backlight ManagementDavid Francis
Adaptive Backlight Management (ABM) is a power-saving feature on AMD ASICs that reduces backlight while increasing pixel contrast and luminance. This test confirms that ABM is present and enabled, and that backlight performance is sane. It uses AMD-specific debugfs entries to read the backlight PWM values. It has 5 subtests: dpms_cycle Sets brightness to half, then confirms that value is restored after dpms off and then on. backlight_monotonic_basic Sets brightness to ten different values, confirming that higher brightness values are brighter. backlight_monotonic_abm Same as backlight_monotonic_basic, but with abm enabled. abm_enabled Sets abm to its four intensity levels, confirming that abm reduces the backlight, and the reduction is greater for higher abm level. abm_gradual Sets abm to off and then maximum intensity, confirming that brightness decreases continually over the first second and eventually reaches the target value. This test takes 30s to run. v2: make sure that dpms is cycled on the eDP display Signed-off-by: David Francis <David.Francis@amd.com> Reviewed-by: Leo Li <sunpeng.li@amd.com>
2019-01-08tests: Enable plane tests for AMDGPUNicholas Kazlauskas
The i915 specific feature requirements that would have failed subtests from kms_plane, kms_plane_multiple and kms_plane_scaling have been conditionally guarded against. These tests can now be run on AMDGPU with the i915 specific tests skipped appropriately. Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com>
2019-01-08tests/kms_plane_lowres: Don't fail tests when missing format/mod supportNicholas Kazlauskas
The kms_plane_lowres subtests will fail on non-i915 hardware because of the devid lookups and tiling format requirements. This patch makes use of the igt_display_has_format_mod() helper to check for support before failing fb creation. The tests still won't fully run yet on i915 hardware because they'll skip during calls to igt_assert_plane_visible - those require an i915 extension to get the CRTC/plane set for a given pipe. v2: Use igt_display_has_format_mod helper (Ville) v3: Move variable declarations to loop scope (Ville) Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-01-08tests/kms_plane_multiple: Add tiled-none plane position subtestsNicholas Kazlauskas
The per-pipe plane position subtests are capable of running on AMDGPU as long as they're not using i915 specific tiling formats. The test setup already supports being invoked with different tiling modes so this patch introduces the new 'tiled-none' subtest that runs without any tiling. The tiled-none tests are skipped on i915 to retain existing test coverage and behavior on i915. v2: Use igt_display_has_format_mod helpers (Ville) Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-01-08tests/kms_plane_scaling: Add support for testing AMDGPUNicholas Kazlauskas
The plane_scaling subtests are capable of running on AMDGPU when not using i915 specific tiling formats and when the test only requires one scaler per pipe. This patch removes the forced i915 devid and gen checks from non i915 devices. It also adds logic for getting the number of scalers per pipe in a way that doesn't only depend on devid. One scaler per pipe is assumed for AMDGPU. There isn't any specific reason that the x-tiled formats need to be used on the non-rotation tests on i915 but this patch keeps the existing test behavior. It's a little simpler to keep it this way for the prepare_crtc helper that's shared between the scaling test and the clipping/clamping test. v2: Use igt_plane_has_format_mod helper (Ville) v3: Use helpers to check x-tiled support (Ville) Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-01-02i915/gem_busy: Use a non-preemptible hanging batchChris Wilson
Ensure that the hangcheck notices the hanging batch by using a non-preemptible spin batch, as some future versions of hangcheck may allow a preemptible GPU hog to survive. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>