summaryrefslogtreecommitdiff
path: root/tests/drv_missed_irq.c
AgeCommit message (Collapse)Author
2017-10-24igt/drv_misssed_irq: Skip on gucChris Wilson
Since the driver's guc submission method requires the breadcrumbs irq for feeding requests to the guc, we cannot simply simulate a missing irq by disabling the interrupts. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Michał Winiarski <michal.winiarski@intel.com> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2017-10-12igt/drv_hangman: Convert from local recursive batch to igt_spin_tChris Wilson
Replace the local recursive batch execbuf with the equivalent igt_spin_t. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2017-09-08build: remove _GNU_SOURCE from source filesDaniel Vetter
We are, the build system takes care of that. Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-03-24Improve utilisation of igt_debugfs_dir()Chris Wilson
As we can export igt_debugfs_dir() to cache the path to our debugfs directory, encourage a few more users to take advantage. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-21Restore "lib: Open debugfs files for the given DRM device"Chris Wilson
This reverts commit 25fbae15262cf570e207e62f50e7c5233e06bc67, restoring commit 301ad44cdf1b868b1ab89096721da91fa8541fdc Author: Tomeu Vizoso <tomeu.vizoso@collabora.com> Date: Thu Mar 2 10:37:11 2017 +0100 lib: Open debugfs files for the given DRM device with fixes. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-21Revert "lib: Open debugfs files for the given DRM device"Tomeu Vizoso
This reverts commit 301ad44cdf1b868b1ab89096721da91fa8541fdc. When a render-only device is opened and gem_quiescent_gpu is called, we need to use the debugfs dir for the master device instead. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
2017-03-21lib: Open debugfs files for the given DRM deviceTomeu Vizoso
When opening a DRM debugfs file, locate the right path based on the given DRM device FD. This is needed so, in setups with more than one DRM device, any operations on debugfs files affect the expected DRM device. v2: - rebased and fixed new API additions v3: - updated chamelium test, which was missed previously - use the minor of the device for the debugfs path, not the major - have a proper exit handler for calling igt_hpd_storm_reset with the right device fd. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Robert Foss <robert.foss@collabora.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-06igt/drv_missed_irq: remove redundant clear of missed interruptsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-02-22igt/drv_missed_irq: Enable fault injection!Chris Wilson
Fixes: 4c5ed71fa743 ("igt/drv_missed_irq: Clear pending IRQs before testing") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99909 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-02-22igt: Start marking up GEM tests that require an alive GPU to functionChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-11-29igt/drv_missed_irq: Initialise expect_rings before useChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-05igt/drv_missed_irq: Clear pending IRQs before testingChris Wilson
Upon starting, the IIR may contain stale user interrupts which then trigger a wakeup when another interrupt occurs (e.g. execlists context switch). This spurious wakeup causes the waiter to unstick and proceed - preventing the missed interupt test from suceeeding. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-08-05igt/drv_missed_irq: Coordinate child/parentChris Wilson
In the child, make sure the parent is about to sleep before allowing the GPU to complete. In theory, we are created as an inferior process on the same CPU and the scheduler shouldn't be executing the child before the parent, but seems to anyway. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-23Silence compiler warnings for expected and handled error conditionsChris Wilson
Silly compiler emitting warnings that just cause people to break code attempting to silence the compiler. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-17igt: Replace drv_missed_irq_hang script with a C-equivalentChris Wilson
In order to control some of the finer detail of detecting when we missed an interrupt, replace the shell script with C. This version submits a hanging batch and uses a child process to unhang it, whilst the parent sleeps. As the child process is prevented from running whilst the parent is alive (as the child is a low priority normal process whereas the parent is a RT process), the child can only unhang the parent after i915_wait_request() has spun up and tried to enable the interrupt. In contrast, the shell script guessed a workload that should take long enough for the i915_spin_request() to miss the completion, but that was not guaranteed. Furthermore, from C we can trigger a missed interrupt on each engine. A minor convenience of the C version is that we don't have to worry about install paths to find the binaries underneath. References: https://bugs.freedesktop.org/show_bug.cgi?id=88437 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>