summaryrefslogtreecommitdiff
path: root/tests/kms_flip.c
AgeCommit message (Collapse)Author
2022-06-28tests/kms_flip: Skip test only for invalid combinationJeevan B
currently the entire test is skipping. adding this fix to skip test only for invalid cases and run on other valid display combination. v2: add RUN_PAIR check to avoid crash on single display. v3: add flag to check for valid display combination.(Karthik) v4: if no valid mode is found then flow should go to 'out'.(Karthik) v5: rebase. Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Karthik B S <karthik.b.s@intel.com>
2022-06-22tests/kms: Fix kms tests to use lib helpers to sort connector modesBhanuprakash Modem
Instead of writing our own wrappers for each subtest to sort connector modes, just use the helpers from IGT library. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2022-06-06tests/kms_flip: skip test if compatible mode is not foundJeevan B
skip test if the compatible mode is not found instead of forcing the first connector mode on to the other connector. Fixes: https://gitlab.freedesktop.org/drm/intel/-/issues/4190 Signed-off-by: Jeevan B <jeevan.b@intel.com> Reviewed-by: Karthik B S <karthik.b.s@intel.com>
2022-05-24tests/kms_flip: Fix mode selection for Nx testsBhanuprakash Modem
This patch will find the connector/mode combination that fits into the bandwidth when more than one monitor is connected. Example: When two monitors connected through MST, the second monitor also tries to use the same mode. So two such modes may not fit into the link bandwidth. So, iterate through connected outputs & modes and find a combination of modes those fit into the link BW. V2: * Exit if suitable modes not found in retry. * New function to re-use the code. Cc: Karthik B S <karthik.b.s@intel.com> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
2022-05-09tests/kms_flip: Update logic to calculate test durationKarthik B S
Few of the subtests are intended to run only for one iteration with duration of 0. But because of the existing logic to calculate duration, even these subtests are running in loop for 0.5s. This is causing excessive logging in the nonexisting-fb subtests. Added check to use duration calculation logic only if duration is non-zero in the first place. Signed-off-by: Karthik B S <karthik.b.s@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2022-04-21tests/kms_flip: Add support to handle displays having 5k+ modesBhanuprakash Modem
As single crtc can handle max of 5k resolution, and we need one more crtc to handle > 5k modes. This patch will skip the scenarios where those crtc/mode combinations won't fit. Example: Consider two 8K panels connected via DP-1 & DP-2 resp, and we have four pipes (A-D) got enabled. So, below are the combos for basic subtest. pipe-A-DP-1 pipe-B-DP-1 pipe-C-DP-1 pipe-D-DP-1 is not possible pipe-A-DP-2 pipe-B-DP-2 pipe-C-DP-2 pipe-D-DP-2 is not possible pipe-A-DP-1-pipe-B-DP-2 is not possible pipe-A-DP-1-pipe-C-DP-2 pipe-A-DP-1-pipe-D-DP-2 is not possible pipe-B-DP-1-pipe-A-DP-2 is not possible pipe-B-DP-1-pipe-C-DP-2 is not possible pipe-B-DP-1-pipe-D-DP-2 is not possible pipe-C-DP-1-pipe-A-DP-2 pipe-C-DP-1-pipe-B-DP-2 is not possible pipe-C-DP-1-pipe-D-DP-2 is not possible pipe-D-DP-1-pipe-A-DP-2 is not possible pipe-D-DP-1-pipe-B-DP-2 is not possible pipe-D-DP-1-pipe-C-DP-2 is not possible Cc: Karthik B S <karthik.b.s@intel.com> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Karthik B S <karthik.b.s@intel.com>
2021-12-07tests/kms_flip: Do not check for timestamp or sequences on MediatekMark Yacoub
[Why] Mediatek devices have a HW issue with sending their vblank IRQ at the same time interval everytime. The drift can be below or above the expected frame time, causing the timestamp to drift with a relatively larger standard deviation over a large sample. [How] Filter out the flags TEST_CHECK_TS and TEST_VBLANK_EXPIRED_SEQ from the tests flags, and restrict sequence and ts checks. Tested on Jacuzzi (MT8183) Signed-off-by: Mark Yacoub <markyacoub@chromium.org> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2021-10-26tests/kms_flip: Discard any stale event at each retryMark Yacoub
[Why] On slower devices, non blocking do_page_flip followed by wait_for_events does not finish fast enough to send an event to be consumed by wait_for_events. Instead, wait_for_events ends up finding an unconsumed event from a previous do_page_flip (i.e. a skipped preceding subtest) and signals that the userspace is ready to do another do_page_flip while the first one hasn't finished yet, resulting in an EBUSY. [How] At the beginning of every test running on crtc set, check for any stale events and consume them so the kernel has no pending events. Fixes: flip-vs-suspend and flip-vs-suspend-interruptible. Tested on ChromeOS Volteer(i915-TGL) and Trogdor(msm) Changes since v1: 1. Update the discard_any_stale_events timeout 2. Correct a debug message 3. use C-style comments Signed-off-by: Mark Yacoub <markyacoub@chromium.org> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2021-10-11igt: s/tiling/modifier/ all overVille Syrjälä
Use a more reasonable variable name for modifiers. Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2021-10-11igt: s/DRM_FORMAT_MOD_NONE/DRM_FORMAT_MOD_LINEAR/Ville Syrjälä
DRM_FORMAT_MOD_LINEAR is the more sensible name for DRM_FORMAT_MOD_NONE. Use the better name. Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2021-09-28tests/kms_flip : skip subtest bo-too-bigAurabindo Pillai
[Why] The rationale of the test does not hold true for AMD hardware. The aperture size calculation has an upper bound check which is done through i915 specific IOCTL. Hence this part of subtest must be moved out of the platform agnostic tests. Moreover, AMD hardware supports buffers larger than aperture size. [How] Skip the bo-too-big subtest unless its run on i915 as the test fails on AMD, VKMS and VC4 Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Acked-by: Petri Latvala <petri.latvala@intel.com> Tested-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
2021-09-16tests/kms: Move Intel specific kms tests to i915 directoryBhanuprakash Modem
As KMS tests on IGT are officially supported on multiple SoCs and there is an active development on it. So, KMS tests are meant to be generic and if we need to test few things specific to Intel, we can use igt_require_intel(). But if the whole test is Intel specific, then the best place for the test would be tests/i915. This patch will * Move all Intel specific kms tests to tests/i915 directory. * Update the tests those are generic but still open the driver as 'drm_open_driver_master(DRIVER_INTEL);'. V2: * Few more tests V3: * Remove cleanups (will submit separate patch later) * Move few more tests to i915 dir (Karthik) V4: * Move kms_big_joiner.c to i915 dir (Karthik) Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Mark Yacoub <markyacoub@chromium.org> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Vidya Srinivas <vidya.srinivas@intel.com> Cc: Karthik B S <karthik.b.s@intel.com> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Mark Yacoub <markyacoub@chromium.org> Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Reviewed-by: Karthik B S <karthik.b.s@intel.com>
2021-08-10tests/kms_flip: Adopt to use allocatorBhanuprakash Modem
For newer gens kernel will reject relocations returning -EINVAL so we should just provide the allocator handle to inject the hang. V2: * Drop is_i915_device() check Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
2021-07-27tests/kms_flip: Restrict the hang tests execution to two pipesBhanuprakash Modem
To save the CI execution time, instead of running on all pipes restrict the hang tests execution to two pipes (first & last). If we want to execute on all pipes, we need to pass an extra argument "-e" indicates extended. Example: ./build/tests/kms_flip -e --r flip-vs-modeset-vs-hang v2, v3: * Fix the typo in args handler (Petri) v4: * Refactor to run on first & last pipes. Cc: Uma Shankar <uma.shankar@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Karthik B S <karthik.b.s@intel.com> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
2021-07-15Nuke local versions of DRM_FORMAT and DRM_MODELucas De Marchi
Use the definition from kernel headers. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
2021-07-15Remove local copies of I915 macrosLucas De Marchi
Just use the one from the kernel headers. Updated with: git grep -l LOCAL_I915 | \ xargs sed -i -e '/^#define LOCAL_I915/d' -e 's/LOCAL_\(I915[[:alnum:]_]*\)/\1/g' Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
2021-05-27lib/i915/gem_create: Add gem_create_extAndrzej Turko
Add a wrapper for gem_create_ext ioctl (a version of gem_create that accepts extensions). In preparation for the driver change implementing it, a local definition of its id and necessary structs have been added, which are to be erased as soon as those definitions appear in the i915_drm.h file. The new ioctl wrapper is added to a separate file. For consistency the wrapper of the old ioctl, gem_create is moved from ioctl_wrappers to gem_create. Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com> Cc: Zbigniew Kempczynski <zbigniew.kempczynski@intel.com> Cc: Dominik Grzegorzek <dominik.grzegorzek@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Chris P Wilson <chris.p.wilson@intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2021-04-23Added tests descriptionArundhati Hagaragi
Added description for following kms tests: tests/kms_color.c tests/kms_dp_dsc.c tests/kms_flip.c tests/kms_flip_tiling.c tests/kms_psr.c Signed-off-by: Arundhati Hagaragi <arundhati.hagaragi@intel.com> Cc: Gupta, Nidhi1 <nidhi1.gupta@intel.com> Reviewed-by: Gupta, Nidhi1 <nidhi1.gupta@intel.com>
2021-01-11lib/i915: Split gem_create.c from ioctl_wrappers.cAndrzej Turko
In preparation for a variation on the exisiting GEM_CREATE API, split the ioctl from out of the large ioctl_wrappers.c Signed-off-by: Andrzej Turko <andrzej.turko@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-12-12lib: Pass device fd to gem_mmappable_aperture_size()Chris Wilson
In order to find the correct aperture size for the test, we want to pass the test's device into the query. Reported-by: Bruce Chang <yu.bruce.chang@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Bruce Chang <yu.bruce.chang@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-11-19tests/kms_flip.c: Remove libdrm dependencyDominik Grzegorzek
Use intel_bb / intel_buf to remove libdrm dependency. Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-07-07lib/igt_fb: remove extra parameters from igt_put_cairo_ctxMelissa Wen
The function igt_put_cairo_ctx currently requires three parameters, but only one of them is used in it. This patch removes the useless parameters, making the code more readable and cohesive. It also applies the change to all occurrences of the function in the code. Signed-off-by: Melissa Wen <melissa.srw@gmail.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-07-06tests/kms_flip: Check for link reset during expired seq vblank waitImre Deak
The expired vblank seq subtests can fail when using certain monitors with a behavior described in commit 60e8be7ccc72086a88d2eff3bcd02495fad5fa46 Author: Imre Deak <imre.deak@intel.com> Date: Mon May 11 22:08:53 2020 +0300 tests/kms_flip: Retry test in case of a DP/HDMI link reset As in the above commit, retry the test once if a hotplug was detected during the test. Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
2020-07-06tests/kms_flip: Check for link reset during TS calibration as wellImre Deak
The timestamp calibration can fail when using certain monitors with a behavior described in commit 60e8be7ccc72086a88d2eff3bcd02495fad5fa46 Author: Imre Deak <imre.deak@intel.com> Date: Mon May 11 22:08:53 2020 +0300 tests/kms_flip: Retry test in case of a DP/HDMI link reset As in the above commit, retry the calibration once if a hotplug was detected during the calibration. v2: - Reinit the event->name fields too when retrying after a link reset. Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
2020-06-26lib: Use generic names for APIs that handle ueventsAnkit Nautiyal
The functions for handling uevents are named with "_hotplug" as suffix such as igt_watch_hotplug(). Earlier hotplug was the only uevent that was requested to be detected, but in fact, these APIs are generic and can be used for detecting other uevents too. Currently we have tests like kms_lease, kms_content_protection using the uevent handling infrastructure for detecting uevents other than hotplug. This patch renames the functions and replace the "_hotplug" suffix with "_uevents". v2: Rebase v3: Added changes in lib igt_chamelium.c, that was missed earlier. Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Suggested-by: Ramalingam C <ramalingam.c@intel.com> Suggested-by: Hiler, Arkadiusz <arkadiusz.hiler@intel.com> Reviewed-by: Ramalingam C <ramalingam.c@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-05-25tests/kms_flip: Don't use igt_fixture in an exit handlerPetri Latvala
kms_flip's exit handler was wrapped in an igt_fixture some 7 years ago because "it can fail". That's not a problem anymore, as igt_fail() will explicitly handle failing in an exit handler. Rather, using igt_fixture in an exit handler is harmful because on a subtest failure, we don't always keep track of the currently running context (whether we're inside a subtest anymore) and we forcefully assert correct nesting of IGT magic control blocks now. We already know the state is cleanable because we only install the handler on a successful init. Unconditional cleanup in an exit handler is the correct thing to do in general. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-22tests/kms_flip: Keep signal helpers enabled after a failed interruptible subtestImre Deak
For the duration of all the interruptible subtests the signal helper is assumed to stay running after each subtest, both in case the subtest passes or aborts with a failure. So make sure we don't leave the signal helper suspended in case igt_assert() aborts. References: https://gitlab.freedesktop.org/drm/intel/issues/1883 Fixes: 60e8be7ccc72 ("tests/kms_flip: Retry test in case of a DP/HDMI link reset") Cc: Uma Shankar <uma.shankar@intel.com> Cc: Nidhi Gupta <nidhi1.gupta@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
2020-05-15kms_flip: Trim test durations for basic subtests [BAT]Chris Wilson
Reduce the target runtime for the individual subtests as each may be repeated multiple times accumulating a substantial fraction of the BAT runtime. A 100 flips or so should be as good an indicator of basic driver health as a few thousand, with the stress testing coming in the non-basic testing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Petri Latvala <petri.latvala@intel.com>
2020-05-13tests/kms_flip: Retry test in case of a DP/HDMI link resetImre Deak
At least an IIyama and LG monitor have a strange behaviour when waking from a power saving state and getting enabled with an otherwise successful modeset: after the modeset in ~2 sec they signal a bad link state, either due to a lost CR/EQ in case of DP or a lost scrambling/TMDS clock setting in case of HDMI link. In response the driver resets the link with either a link-retraining or a modeset, which in turn makes the test miss vblank/flip events and fail. Work around the above issue, by retrying the test once if the test detects after a failure that a link reset happened during the test and a corresponding hotplug uevent was sent by the driver. v2: Suspend the signal helper while waiting for a hotplug event, so the wait will not get inerrupted/restarted in an endless loop. Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
2020-04-15kms_flip: Convert to dynamic CRTC test groupsChris Wilson
Use igt_dynamic_f for the dynamic discovered CRTC sets for each test. v2: The subsubtest names are slightly more compact and forced to conform to igt_runner/piglit rules: A-eDP1 AB-eDP1-eDP2 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Martin Peres <martin.peres@linux.intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-04-11kms_flip: Reduce hang tests to minimum durationChris Wilson
Hang tests are slow since we must wait for the kernel to detect the GPU hang before it forcibly completes the execution and signals the fence. The flip is not allowed before the fence is signaled and so must wait. Our test is that the flip does eventually occur, we only need to do that once, and let the power of repeated runs across many machines weed out the corner cases. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
2020-04-06tests/kms_flip: Skip detiler fences subtest on platforms w/o apertureImre Deak
On platforms w/o an aperture subtests using fences are not relevant, so skip them. This also fixes a use-after-free error happening as a side-effect of running the test on such platforms. v2: Call igt_require() earlier to speed up runtime. (José) v3: Fix the condition in igt_require(). Cc: José Roberto de Souza <jose.souza@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
2020-04-04kms_flip: Skip interruptible testing for negative and hangs testsChris Wilson
Negative tests are API tests that will be rejected before we ever wait. Repeating them expecting it to be interrupted is a forlorn hope. Hang tests are expected to be blocked until they can be resolved by hangcheck. Repeating those to see how a long wait responds when interrupted is counter purpose, just a waste of time. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
2019-10-31tests/kms_flip: Allow an extra half frame for vblank waitsVille Syrjälä
The vblank tests try to make sure a relative vblank wait of 2 counts completes in ~1-2 frames (depends on how far along the first frame we are when initiating the wait). The actual limits we check are 0.9 to 2.1 frames to account for inaccuracies in the reported dotclock. Unfortunately it seems we either have even more inaccurate dotclocks or scheduling latencies and whatnot are pushing that out quite a bit further. So let's extend the end limit to ~2.6 frames to cut down on the noise a bit. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111609 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-09-06igt/kms_flip: Use actual vblank_interval instead of expected.Stanislav Lisovskiy
If we are not currently failing at calibration stage, when we detect that actual vblank interval takes longer than expected according to the modeline, then we should not fail here as well. Vblank interval can be different from expected one depending on clocking used. Probably we need to have some criteria how much vblank interval is allowed to be different, however currently we don't fail in calibration_ts but simply print that it is different, while later during *-vs-vblank-race we do, even though the reason is the same. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103060 Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2019-07-08lib/igt_fb: Allow creating yuv fbs with different encodings/rangesVille Syrjälä
Pass the color encoding/range to igt_create_fb_with_bo_size() so that tests are able to generate fbs with various encodings/ranges. v2: Drop the _full() variants of th fb create funcs (Nicholas) Cc: Uma Shankar <uma.shankar@intel.com> Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> #v1 Reviewed-by: Uma Shankar <uma.shankar@intel.com> #v1 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2019-06-25tests/kms_flip: improve logging when timing outSimon Ser
Signed-off-by: Simon Ser <simon.ser@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105363 Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2019-06-06tests/kms_flip: Skip VBlank tests in modules without VBlankRodrigo Siqueira
The kms_flip test relies on VBlank support, and this situation may exclude some virtual drivers to take advantage of this set of tests. This commit adds a mechanism that checks if a module has VBlank. If the target module has VBlank support, kms_flip will run all the VBlank tests; otherwise, the VBlank tests will be skipped. Additionally, this commit improves the test coverage by checks if the function drmWaitVBlank() returns EOPNOTSUPP (i.e., no VBlank support). V7: Skip seq number checking and busy flip if the device doesn't support vblank V6: Set errno to zero before call drmWaitVBlank() (Chris Wilson) V5: Drop the DRM_VBLANK_NEXTONMISS (Chris Wilson) V4: Replace DRM_VBLANK_ABSOLUTE by DRM_VBLANK_RELATIVE and DRM_VBLANK_NEXTONMISS V3: Add documentation (Daniel Vetter) V2: Add new branch coverage to check if VBlank is enabled or not and update commit message V1: Chris Wilson - Change function name from igt_there_is_vblank to kms_has_vblank - Move vblank function check from igt_aux to igt_kms - Utilizes memset in dummy_vbl variable - Directly return the result of drmWaitVBlank() Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
2019-05-27kms_flip: Nuke custom main functionPetri Latvala
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2019-04-24tests/kms_flip: Improve asserts for expired vblank testsDaniel Vetter
Step 1 in debugging: Actually understand what's going wrong. References: https://bugs.freedesktop.org/show_bug.cgi?id=102887 Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Cc: "Peres, Martin" <martin.peres@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2019-04-10tests/kms_flip: Do not request event for flips we expect to fail.Maarten Lankhorst
If we unexpectedly pass, we get a cryptic (kms_flip:935) CRITICAL: Test assertion failure function set_flag, file kms_flip.c:271: (kms_flip:935) CRITICAL: Failed assertion: !(*v & flag) (kms_flip:935) CRITICAL: Last errno: 25, Inappropriate ioctl for device Instead of a more descriptive assertion error, clear the request for event to fix this. This will change the error reported in bug #103257. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=103257 [mlankhorst: Replace igt_assert with igt_assert_eq based on ickle's suggestion] Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-04-10tests/kms_flip: Reduce runtime to 1s for busy-flip.Maarten Lankhorst
We don't actually care about running this for 30 seconds, all we care is that we get a -EBUSY if a flip is already queued. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-04-10tests/kms_flip: Make busy-flip test less strict.Maarten Lankhorst
Remove the -interruptible test, the test only tests that we get an -EBUSY after doing a pageflip. Doing this interruptibly adds the possibility the test will take too long from retrying. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2019-03-29Revert "lib/igt_device: Move intel_get_pci_device under igt_device"Ville Syrjälä
One significant usecase for intel_reg/etc. is to be able to examine the hardware state *before* loading the driver. If the tool forces the driver to load we've totally lost that capability. This reverts commit 8ae86621d6fff60b6e20c6b0f9b336785c935b0f. Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Michał Winiarski <michal.winiarski@intel.com>
2019-03-20lib/igt_device: Move intel_get_pci_device under igt_deviceMichał Winiarski
It allows us to make things a little bit more generic. Also, we now require fd rather than doing guesswork when it comes to pci address. v2: Use readlinkat rather than string concat, move stuff around, provide a version that does not assert. (Chris) v3: Print addr on failure, avoid assignment in conditionals. (Chris) Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
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>