summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-07-11igt_kms: Provide a get_plane_property() shorthandDamien Lespiau
So one doesn't have to write the plane type all the time. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-11igt_kms: Factor out a generic get_property() out of get_drm_plane_type()Damien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-11lib/igt_core: Don't log when listing subtestsDaniel Vetter
I've noticed some spam in the userptr list ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-07-11lib: allow the edid to be resetThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-07-11lib: add igt_enable_connectors and igt_reset_connectorsThomas Wood
igt_enable_connectors forces connectors to be enabled where doing so is known to work well. igt_reset_connectors resets the force state on all connectors.
2014-07-11lib: add the ability to set an EDID data block on a connectorThomas Wood
Add a function to set an EDID data block on a connector and include a set of generic EDID blocks for testing. Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-07-11lib: add function to change connector statesThomas Wood
Add an API function and a test program to force a particular state on a connector. v2: mask the correct part of the minor number to get the card number (Chris Wilson) Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-07-11Wait for any pid in order to reap failure quickerChris Wilson
When waiting for the forked tests, we can respond quicker to a failure (such as oom) by waiting for any child to exit rather than waiting for each child in order. Then when we see that a test failed, we can kill all other children before aborting. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-07-10core: Apply the same treatment to the in errno message in __igt_fail_assert()Damien Lespiau
Just like the it was done for the requirement message, display the errno message only if errno is set, and display it at the end of the assert message. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-10core: Only display the errno message if errno is setDamien Lespiau
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-10core: Put the requirement failure messages togetherDamien Lespiau
The errno message was a bit in the middle here, it makes more sense to group the messages about why the test requirement wasn't met together. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-10lib/gen6_render: removed duplicate definesMika Kuoppala
Textually the same so no harm was done and no warnings from compiler either. Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-07-07kms_plane: Add panning test for primary planeYi Sun
Get CRCs of a full red and a full blue surface as reference. Create a big framebuffer that is twice width and twice height as the current display mode. Fill the top left quarter with red, bottom right quarter with blue Check the scanned out image with the CRTC at position (0, 0) of the framebuffer and it should be the same CRC as the full red fb Check the scanned out image with the CRTC at position (hdisplay, vdisplay) and it should be the same CRC as the full blue fb v2: Fix a few things here and there (Damien) Cc: Lei Liu <lei.a.liu@intel.com> Cc: Yi Sun <yi.sun@intel.com> Signed-off-by: Lei Liu <lei.a.liu@intel.com> Signed-off-by: Yi Sun <yi.sun@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-07pipe_crc: Make collect_crc() ensure the CRC looks somewhat validDamien Lespiau
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-07pipe_crc: Warn if the CRC values is 0xffffffffDamien Lespiau
This is what we read when the CRC logic in in a powered down well. We really don't want that to happen. In theory, it's possible 0xffffffff to be a valid CRC value, so I don't assert here. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-07lib: Reset 'position_changed' after a drmModeSetCrtc()Damien Lespiau
So the next commit won't trigger a drmModeSetCrtc() if the primary plane doesn't have any update needing it. This shouldn't be a problem at the moment as we don't allow the primary plane to be of a different size than the CRTC viewport, but it will most likely change in the future and we don't want to have that bug there. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-07lib/kms: Provide universal plane #define'sMatt Roper
There hasn't been a libdrm release containing the universal plane definitions yet, so add them to igt_kms to allow compilation to succeed in the meantime. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-07-04lib/kms: Drop primary plane windowing test from igt_plane_set_position()Matt Roper
None of our hardware can support this today, but we'd like to be able to write tests that check that the kernel returns the proper error code when userspace tries it anyway. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-04lib/kms: Add universal plane support (v2)Matt Roper
Add support for universal planes. This involves revamping the existing plane handling a bit to allow primary & cursor planes to come from the DRM plane list, rather than always being manually added. v2: Don't drop fixed ordering of internal plane list. Primary will always be index 0, cursor will always be last in internal plane list. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-04lib/kms: Add igt_display_try_commit2()Matt Roper
Add a new public API that will attempt a display commit, but will return an error code upon failure rather than failing the IGT test. This is intended to allow igt tests to verify that the expected error codes are returned to userspace when invalid requests are issued. Note that with non-atomic programming, a single commit operation has several potential failure points internally; the first non-zero error code encountered will be returned immediately and no further programming will be performed by the commit. It is the caller's responsibility to return to a sane state. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-04lib/kms: Add igt_display_commit2()Matt Roper
Add a new commit interface, igt_display_commit2(), that allows tests to specify which programming API should be used to perform hardware updates. COMMIT_LEGACY is the only option for now, but universal and atomic interfaces will be added as additional options in the future. igt_display_commit() remains unchanged for existing tests that wish to place the hardware in a specific state, but that don't care which API is used to achieve that state. The legacy API will be used by default for now, but in the future we may decide to make the default API configurable via an environment variable. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-04lib/kms: Track need for vblank wait locallyMatt Roper
The need to wait for a vblank after programming is due to the way we actually program the hardware. Move need_wait_for_vblank out of the pipe and into a local variable in preparation for future programming styles (e.g., atomic pageflip) that will need different logic. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-07-04lib/kms: Drop igt_pipe->need_set_{crtc, cursor}Matt Roper
The "need" flags on igt_pipe simply mirror the fb_changed field of the primary/cursor planes. Drop them and just use fb_changed instead. Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-06-17Paritially revert "lib: add missing includes to headers"Daniel Vetter
This reinstates the #includes for lib/debug.h since without that the shader debugger fails to build. You need to manually enable it with ./autogen.sh --enable-shader-debugger and the fail only happens when running a clean build with $ git clean -dfx && ./autogen.sh --enable-shader-debugger && make I have no idea what breaks, but this restores the build. Reported by Ben Widawsky. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-16lib: add missing includes to headersThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-16lib: ensure igt_display_init clears the memory for the display structThomas Wood
Add the call to memset that was accidentally removed in: commit 1e9e1baba389fe498be12390ceeeacb1d141a5cf Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Thu Mar 13 17:20:05 2014 +0100 lib/igt_kms: rip out custom verbose loggin support Instead just piggy-pack on top of igt_log. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Thomas Wood <thomas.wood@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13tools/intel_display_poller: Add a new tool that will poll various display ↵Ville Syrjälä
registers intel_poller can be used to poll various display registers (IIR,scanline/pixel/flip/frame counter, live address, etc.). It can be used to determine eg. at which scanline or pixel count certain events occur. v2: s/intel_poller/intel_display_poller/ Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-13tools: Add intel_iosf_sb_{read,write} toolsVille Syrjälä
Add generic tools to poke at IOSF sideband. The user needs to manually specify SB port as well as the register. TODO: Maybe add symbolic names for the units? Would avoid having to trawl the docs for the magic hex value. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-13lib/igt_debufs: Add IGT_NO_FORCEWAKE environment variableVille Syrjälä
If IGT_NO_FORCEWAKE is set, skip the forcewake open. Useful when you want to poke at register without otherwise disturbing the GPU. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-13lib/igt_debugfs: Don't fail if debugfs is already mountedVille Syrjälä
Remove the igt_assert() from the debugfs mount. It will fail if debugfs is already mounted. With the assert in place it's very annying to use igt without i915 loaded (eg. to dump BIOS configured registers). Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-13NEWS: Mention igt.cocciDaniel Vetter
And also pimp the spatch file itself with usage hints. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13lib: Introduce igt_fail_on/_fDaniel Vetter
I've yet again totally screwed things up (this time automated with cocci even, but not yet pushed luckily). So finally add a new version for easier conversion and adjust the cocci script. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13lib/igt.cocci: Also add rule to use igt_warn_on_fDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13lib/igt.cocci: Convert abort() to igt_failDaniel Vetter
abort should only be used for internal library checks - using abort() we get a "crash" result, using igt_fail we get "fail" in piglit. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13lib/igt.cocci: Conversion to igt loggingDaniel Vetter
Also update old hunks to match on igt logging instead of fprintf. v2: Don't forget about perror. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13tests: Don't use stderr for informational messagesDaniel Vetter
These should go to stdout instead. The next patch will clean this up with cocci, so no change from fprintf(stdout, to printf( here. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13lib: add igt.cocciDaniel Vetter
Small start but useful to collect refactorings/simplifications for common igt patterns. Please add more if you stumble over some so that we can occasionally run this to clean up the tests. I haven't figured out yet how to do the assert_cmpint->assert_eq transformation. Run this with spatch --sp-file lib/igt.cocci --in-place tests/*.c Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13lib/igt_core: Add igt_assert_eqDaniel Vetter
Suggested by Chris Wilson. Not yet rolled out since I'm trying to use cocci for this. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-12lib: various documentation fixesThomas Wood
Fix some documentation comments and mark some struct members private. Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-06-12lib: remove /** from comments that are not API documentationThomas Wood
These comments are not gtk-doc comments, so replacing /** with /* prevents any gtk-doc warnings. Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-06-12lib/intel_os: Spelling fixDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-10API docs for intel_check_memory()Chris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-09Fix make distclean by fixing includes of version.hRodrigo Vivi
Actually only the igt_core was breaking the make distcheck, but let's make it consistent and let the code cleaner. Credits-to: Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
2014-06-05lib: Add debug to memory limits checksChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-06-05lib/igt_debugfs: Fix spelling docsDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-04rendercopy/gen8: Also emit 3DSTATE_WM_DEPTH_STENCIL.Kenneth Graunke
rendercopy was failing to emit 3DSTATE_WM_DEPTH_STENCIL, which is a new packet on Broadwell. Mesa emits this packet. This appears to fix various tests on a fresh boot, when Mesa has never run. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78890 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78891 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78935 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78936 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78937 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78938 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Tested-by: Guo Jinxian <jinxianx.guo@intel.com> Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
2014-06-03lib/intel_iosf: add second phy supportVille Syrjälä
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com>
2014-06-03tools/null_state_gen: generate null render stateMika Kuoppala
Generate valid (null) render state for each gen. Output it as a c source file with batch and relocations. v2: noinst and vs_start fixed for BDW GT3 (Damien Lespiau) Acked-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-05-28Factor in kernel object overhead when checking available memory for testsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-05-19igt/quickdump: vlv: dump FLISDSI regs tooImre Deak
Signed-off-by: Imre Deak <imre.deak@intel.com>