I get this wrong for almost every conversion to subtests ...
v2: Don't install the check when just listing subtest names.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
igt runs under the assumption that nothing else (besides maybe fbcon)
is using the gpu. So we should be able to use all fences.
Keep the conservative testcase around though in case someone has a
broken setup.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
For Haswell, some audio configuration registers have changed their name and
some bit definitions.
This patch applies the changes, and uses subfunctions to parse registers for
code reuse.
Here is the name change list:
Audio configuration: AUD_CONFIG_x to AUD_TCx_CONFIG
Audio Misc Control: AUD_MISC_CTRL_x to AUD_Cn_MISC_CTRL
Audio M & CTS programming enable: AUD_CTS_ENABLE_x to AUD_TCx_M_CTS_ENABLE
Audio EDID data block: AUD_HDMIW_HDMIEDID_x to AUD_TCx_EDID_DATA
Audio Widget Data Island Packet: AUD_HDMIW_INFOFR_x to AUD_TCx_AUD_INFOFR
Audio Pipe and Converter Configs: AUD_PORT_EN_HD_CFG to AUD_PIPE_CONV_CFG
Audio Digital Converter: AUD_OUT_DIG_CNVT_x to AUD_Cn_DIG_CNVT
Audio Stream Descriptor Format: AUD_OUT_STR_DESC_x to AUD_Cn_STR_DESC
Audio Connect List Entry & Length: AUD_PINW_CONNLNG_LIST_x to
AUD_TCx_PIN_PIPE_CONN_ENTRY_LNGTH
Audio Connection Select Control: AUD_PINW_CONNLNG_SEL to AUD_PIPE_CONN_SEL_CTRL
Audio DIP & ELD Control State: AUD_DIP_ELD_CTRL_ST_x to AUD_TCx_DIP_ELD_CTRL_ST
Audio HDMI FIFO status: AUD_HDMIW_STATUS to AUD_HDMI_FIFO_STATUS
NOTE:
For Tx, x = A/B/C, meaning Transcoder A/B/C.
For Cn, n = 1/2/3, meaning audio converter 1/2/3.
Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Reviewed-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
This patch makes the file to follow kernel coding style:
- replace leading spaces with tabs for alignment
- fix some minor format issues
But the max length of a line is set to 120 characters for readability
on high resolution displays.
Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Reviewed-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
The PCH transcoder config register (PCH_TRANS_CONF, 0xf0008) is not the
correct config register for transcoder A, B or C. This register is in
PCH and for CRT display, nothing to do with display audio.
So This patch removes misuse of it as config register for transcoder A/B/C.
Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Reviewed-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
Whatever the reason (and I've thought there isn't one) if we fork and
kill right away the child seems to not reliably die. We can work
around this little race by forcing the default SIGQUIT handler. This
should break anything since we reset our atexit handling anyway, so if
the helper needs any atexit handling the special signal helpers will
be reinstated.
Note that inserting sufficient amounts of printf between the fork and
kill makes this unnecessary.
While add it also add the retry loop for the waitpid call, in case
there's another guy constantly interrupting us.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
If we're really fast we've trying to stop the signal helper again
we somehow race somewhere and it'll never happen. So add a testcase for
this. Since I expect more to come for testsuite tests add a separate
make target for them. Run tests with
$ make check
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
The simulator doesn't like this nor really support it :(
v2: We've tried to a more gentle resume testing using the pm_test
infrastructure, but that alos failed. So add a FIXME comment that we
need to improve things a bit here.
Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Forked tests ended up restoring the sighandlers already inherited
from the parent, resulting in endless signal loops through our
atexit handler.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
- Clear the igt_helper_process struct to avoid hitting asserts.
- Fix up the logic for enumerating forked processes.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Our kernel likes to occasionally kill process with a SIGBUS when this
shouldn't ever happen. Hence also handle this signal in the exit
handler infrastructure.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Instead of crashing with an igt_assert. Fixes the only crashing test
when running igt on non-intel systems.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
The upshot is that we can share the logic to make sure the helpers
are all properly stoved again in a 2nd step.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
- reset the count when forking
- don't add the same handler multiple times
- don't restore the exit signal handlers in the forked helper
process
- reset the exit handler count once called to make sure we don't call
it multiple times when dying
- don't wait for the signal helper if it's gone already
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
For reloc offsets and batch start/len. Doesn't quite fit into the test
subject at hand here, but meh.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Introduced when refactoring the patch in
commit c1ee0bb53269ded7b79966d081518d689639bac7
Author: Imre Deak <imre.deak@intel.com>
Date: Mon Jul 29 16:43:31 2013 +0300
intel_batchbuffer: add support for non-32bit blt copies
No functional change.
Signed-off-by: Imre Deak <imre.deak@intel.com>
This exercises the slightly faulty kernel w/a that Eric fixed in
commit e844b990b1df9242bb91b7d490552f3198946838
Author: Eric Anholt <eric@anholt.net>
Date: Tue Jul 31 15:35:01 2012 -0700
drm/i915: Don't forget to apply SNB PIPE_CONTROL GTT workaround.
If a buffer that was the target of a PIPE_CONTROL from userland was a
reused one that hadn't been evicted which had not previously had this
workaround applied, then the early return for a correct
presumed_offset in this function meant we would not bind it into the
GTT and the write would land somewhere else.
Fixes reproducible failures with GL_EXT_timer_query usage in apitrace,
and I also expect it to fix the intermittent OQ issues on snb that
danvet's been working on.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48019
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52932
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Carl Worth <cworth@cworth.org>
Tested-by: Carl Worth <cworth@cworth.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
I've fumbled the logic inversion when converting to igt_require way
too often, so lets add something for dummies like me ;-)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This finishes the objective in the last patch which was to actually deal
with physical addresses, and not the PTEs.
GEN6+ Provided support for physical addresses above 4GB. I'm not
actually sure what Ironlake supported, and don't feel like firing up the
timemachine.
v2: Add support for gen4, gen5, and haswell.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
The GTT PTEs that the tool is trying to compare is really about
addresses, and not the PTE itself. To accomplish this, make which
calculates the physical address we actually want.
This commit itself doesn't change any functionality; just the wording in
the code.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
The warning that vmap isn't supported is useful, but it shouldn't get in
the way of developers (or distros) being able to use -Werror.
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>