Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|