Binaries should only be added to the HANG target if they're completely
broken. If they just cause a recoverable gpu hang as part of the test
then they need to be somewhere else.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Don't try to set modes on two connectors that share the same encoder.
That will just fail.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68463
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
This also raises the absolute wait-for-vblank sequence step from 5 to
10, just to make it consistent with the corresponding 1x subtests.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69161
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
We don't want depth/stencil fast clears or HiZ resolves; we want normal
drawing. Without this, the pixel pipeline doesn't work.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Cc: Ben Widawsky <ben@bwidawsk.net>
Cc: Damien Lespiau <damien.lespiau@intel.com>
Provide two arguments version, and verbose, which allow printing from an
arbitrary igt test. It will show system information (from build time,
not runtime), as well as the git SHA being used.
This will help reduce errors when people try to reproduce problems.
As an example if I want to verify someone is running the correct version
of a test, I could ask them to do:
bwidawsk@ironside ~/intel-gfx/intel-gpu-tools (master)$ sudo ./tests/gem_exec_nop --verbose
gem_exec_nop-git-3c5423b (Linux ironside 3.12.0-1-ARCH #1 SMP PREEMPT
Wed Nov 6 09:06:27 CET 2013 x86_64 GNU/Linux)
Time to exec x 1: 35.000µs (ring=render)
Time to exec x 2: 28.000µs (ring=render)
Time to exec x 4: 20.000µs (ring=render)
Time to exec x 8: 14.625µs (ring=render)
Time to exec x 16: 11.188µs (ring=render)
Time to exec x 32: 11.125µs (ring=render)
Time to exec x 64: 10.328µs (ring=render)
Time to exec x 128: 10.172µs (ring=render)
Time to exec x 256: 10.234µs (ring=render)
Time to exec x 512: 10.232µs (ring=render)
Time to exec x 1024: 10.121µs (ring=render)
Time to exec x 2048: 10.151µs (ring=render)
Time to exec x 4096: 11.474µs (ring=render)
Time to exec x 8192: 9.432µs (ring=render)
Time to exec x 16384: 6.003µs (ring=render)
Time to exec x 32768: 5.029µs (ring=render)
Time to exec x 65536: 4.206µs (ring=render)
Time to exec x 131072: 3.630µs (ring=render)
Subtest render: SUCCESS
--verbose is provided for completeness, but doesn't seem too useful at
the moement.
bwidawsk@ironside ~/intel-gfx/intel-gpu-tools (master)$ sudo ./tests/gem_exec_nop --version
gem_exec_nop-git-3c5423b (Linux ironside 3.12.0-1-ARCH #1 SMP PREEMPT
Wed Nov 6 09:06:27 CET 2013 x86_64 GNU/Linux)
I've put version.h in the root directory so that any subdir can access
it. I've added the tests usage since it's immediately useful, and done
easily via Daniels igt infrastructure work.
v2:
- Always print the version number.
- We want to print uname at runtime.
- Also prefix the i-g-t release version.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
QA has asked me "How can we make sure LPSP is working?". Now, instead
of writing big paragraphs, I can just answer "make sure pm_lpsp
works".
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
I did the same change in the Kernel a few months ago. This should help
not getting confused about which bit does what.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
write(...) is used for Render Target Write and Media Block Write.
The two message types no longer share the same cache agent on GEN8,
So a parameter is needed for cache agent. The 4th parameter of write()
is used for write commit bit which has been removed since GEN7. Hence
we can re-use the 4th parameter as cache agent on GEN8
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
It's what callers expect - pipe_crc_new is the function where
we pass a potential failure back to callers.
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
No need to duplicate this all over the place.
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Or more precisely: It already has an igt_require. So we cant ditch it
from tests.
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Otherwise it may result in GPU hang
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Otherwise the stale data in the buffer
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
The code is for reference only
v2: Fixed the source register used for the send with EOT
Fixed the posted destination operand for the send with EOT
v3: Fixed the cache agent used in media_block_write message on GEN8
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
v2: Fixed the source register used for the send with EOT
Fixed the posted destination operand for the send with EOT
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
v2: Fixed the source register used for the send with EOT
Fixed the posted destination operand for the send with EOT
v3: Workaround: Insert MEDIA_STATE_FLUSH after MEDIA_OBJECT.
Fixed the cache agent used in media_block_write message
Set Instruction Buffer size Modify Enable to 1, otherwise it may result in GPU hang
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
It is to check whether media pipeline on render ring works. Codes
are copied and modified from the rendercopy case which uses 3D pipeline.
However media pipeline is simpler than 3D pipeline and there is few changes
between gen6,gen7 and gen8
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Since we now always want a length for this command, and we've created a
non-length variant, remove the #define to prevent further foot shooting.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
NOTE: Some subtests are still failing, but I haven't found the bug yet.
At least this should help QA meanwhile.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
NOTE: Some subtests are still failing, but I haven't found the bug yet.
At least this should help QA meanwhile.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
I've opted to not use the PIPE_CONTROL w/a for now. I am unclear if it
is actually required (the test does pass).
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
It didn't pan out at all since atm we don't evict context objects. But
maybe it's useful for when that happens.
v2: Actually test eviction. Took a while to figure that one out.
And indeed the testcase now fails because we don't evict the previous
context as we should.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This exercise the bug fixed in
commit 1020dc6990168a5081ffad620c440e220f05b460
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Oct 29 08:55:57 2013 +0000
drm: Do not drop root privileges for a fancier younger process
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
quick_dump.py execute permission was accidentally lost in:
commit d56697233699844db9262a9a056b62b24b69dd39
Author: Mengdong Lin <mengdong.lin@intel.com>
Date: Sun Aug 25 23:07:22 2013 -0400
quick_dump/bdw: support Broadwell in device auto-detection
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
The extra parameter is for future platform.
Signed-off-by: Chon Ming Lee <chon.ming.lee@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
DPIO name still using old name. Change it according to the driver name.
Signed-off-by: Chon Ming Lee <chon.ming.lee@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
This triggers use after free oops on request->batch_obj when
going through the rings and setting reset status on requests,
after a gpu hang.
v2: Streamlined the test and added comments (Daniel)
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
to not run out of filedescs as some tests call gem_quiescent_gpu
directly.
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Various C library implementations have various races with regards
to caching getpid() or TID inside pthread_kill() implementations.
For example see clone(2) glibc man page and pthread_kill
Bionic C library source.
Work around that by making sure correct PID/TGID and TID values
are retrieved from the kernel when re-raising the signal. It
can be delivered immediately after the clone system call while C
library cached copies have not yet been updated.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>