summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2016-03-08igt/gem_reloc_overflow: Fix errno tests for "overflow"Chris Wilson
The execbuffer2 ABI is not strictly limited to a total of UINT32_MAX entries, rather each object can have a maximum of UINT32_MAX relocation entries and the current implementation imposes that the total must be allocable in a contiguous buffer when necessary (i.e as large as the kernel can conceivably allocate). This is not an ABI constraint per-se, just an implementation issue. Whilst updating the limits for 64bit kernels, review usable of ioctl-wrappers (i.e. use __gem_execbuf now available) and include a batch of more tests to explore the boundary conditions of the maximum relocation size. Note that rather than guess the reloc-max, it would be better if we queried it. Also it is of vital importance that when constructing a test to fail in a particular fashion, it must not include any other error (e.g. we were passing in relocation arrays with invalid target handle and domains when looking for a potential overflow across multiple objects). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-07igt/pm_rpm: Wait for PCI D3Chris Wilson
The transition to PCI device state D3 is not instantaneous and only started when runtime suspended. Allow the driver/hardware a little bit of time to complete the transition before declaring a test failure. References: https://bugs.freedesktop.org/show_bug.cgi?id=93123 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-07gem_ppgtt: Fix flink-and-exit-vma-leak for engine->last_contextTvrtko Ursulin
Now that engines keep references on the last executed contexts, to fix this test we need to execute an unrelated context last to ensure the one we are interested in is free to be cleaned up when we expect it to be. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2016-03-07tests/kms_setmode: Fix compilation warnings.Marius Vlad
kms_setmode.c:384:30: warning: declaration of ‘drm_fd’ shadows a global declaration [-Wshadow] kms_setmode.c:45:12: note: shadowed declaration is here static int drm_fd; kms_setmode.c:391:38: warning: passing argument 8 of ‘drmModeSetCrtc’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] ids, crtc->connector_count, &crtc->mode); Signed-off-by: Marius Vlad <marius.c.vlad@intel.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-03-07tests/kms_setmode: Add tests when not stealing encoders on same crtc.Maarten Lankhorst
Excercise connector stealing harder. There is a border case in atomic currently where encoder stealing is not prevented on the same crtc when the encoder is not reassigned. The following testcase excercises that path and causes a OOPS on my system with nightly. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2016-03-04tests/kms_draw_crc: remove hardcoded PIPE_APaulo Zanoni
The test used to assume pipe A was being used for everything, and we tried to fix this in commit "tests: fix CRTC assignment for a few tests", but the pipe CRC code was forgotten. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-03-04kms_frontbuffer_tracking: Remove hardcoded PIPE_AGabriel Feceoru
Use the pipe which is given from the possible_crcs for that connected port instead. On BSW there are constrains for the crtc<-->connector, this fix make this test passing on BSW. v2 (from Paulo): bikeshed the blank lines. Signed-off-by: Gabriel Feceoru <gabriel.feceoru@intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-03-03kms_frontbuffer_tracking: add missing igt_remove_fb callsPaulo Zanoni
Let's be good citizens and properly handle our garbage. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-03-03tests: fix CRTC assignment for a few testsPaulo Zanoni
All the tests I wrote always assumed that every connector supported CRTC 0. This is not the case for BSW and possibly others, so fix the tests before the CI reports more failures. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-03-03kms_frontbuffer_tracking: try harder to find suitable connectorsPaulo Zanoni
Instead of just giving preference to an eDP primary connector, give preference to one that's eDP and supports pipe A, then try lesser optimal combinations later. We could try to make our test suite use different sets of connectors when testing FBC and PSR, but that would require some rework, and we would still be helpless when testing the combination of FBC+PSR. Also notice that we still hardcode pipe A for the primary connector, regardless of whether it supports it. This will be solved in the next commits. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-03-03kms_frontbuffer_tracking: extract find_connector functionPaulo Zanoni
We're going to make our search for connnectors a little more complicated, so extract the function since we're going to call it a few more times. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-03-03kms_frontbuffer_tracking: don't pass the crtc idx to init_mode_paramsPaulo Zanoni
We already pass the crtc id, so use the id to retrieve the index. We'll change the way we pass the crtc id in the next commits, so we'll have to call a function to calculate the index based on the id at that point. Do the change now in order to avoid big commits later. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-03-03lib/igt_kms: add kmstest_get_crtc_idxPaulo Zanoni
Move it from pm_rpm.c to lib/igt_kms and remove the hardcoded version from kms_frontbuffer_tracking. I'm also planning to add other callers. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-03-03tests/pm_rpm: Fix CRASH on machines that lack LLCDavid Weinehall
On machines that lack an LLC the pm-caching subtest will terminate with sigbus and thus CRASH during the I915_CACHING_CACHED iteration. To work around this we reset the caching to I915_CACHING_NONE before doing memory access. v2: Various improvements based on feedback from Chris Wilson v3: Fix incorrect Signed-off-by: line v4: Further improvements based on feedback from Chris Wilson Signed-off-by: David Weinehall <david.weinehall@linux.intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-03-03igt/gem_softpin: Check norelocations hold versus suspend/resumeChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-03igt/gem_exec_basic: Check that we don't write into the const execbuf argChris Wilson
For good measure, also check that we can read the args from a GTT mmaping. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-02igt/gem_exec_suspend: Exercise simple exec-and-read across suspendChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-02tests/drv_missed_irq_hang: Wait harderChris Wilson
Improve the busy-load for triggering a wait-on-interrupt and check for extraneous missed-interrupts before and after our tests. References: https://bugs.freedesktop.org/show_bug.cgi?id=88437 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-02igt/gem_ctx_create: Exercise implicit per-fd context creationChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-01igt/gem_ctx_create: Exercise a trivial allocation failureChris Wilson
Trying to allocate and use lots of contexts with execlists and !llc end ups in faliure very quickly. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-01tests/drv_hangman: test for acthd increasing through invalid VM spaceDaniele Ceraolo Spurio
The hangcheck logic will not flag an hang if acthd keeps increasing. However, if a malformed batch jumps to an invalid offset in the ppgtt it can potentially continue executing through the whole address space without triggering the hangcheck mechanism. This patch adds a test to simulate the issue. I've kept the test running for more than 10 minutes before killing it on a BDW and no hang occurred. I've sampled i915_hangcheck_info a few times during the run and got the following: Hangcheck active, fires in 468ms render ring: seqno = fffff55e [current fffff55e] ACTHD = 0x47df685ecc [current 0x4926b81d90] max ACTHD = 0x47df685ecc score = 0 action = 2 instdone read = 0xffd7ffff 0xffffffff 0xffffffff 0xffffffff instdone accu = 0x00000000 0x00000000 0x00000000 0x00000000 Hangcheck active, fires in 424ms render ring: seqno = fffff55e [current fffff55e] ACTHD = 0x6c953d3a34 [current 0x6de5e76fa4] max ACTHD = 0x6c953d3a34 score = 0 action = 2 instdone read = 0xffd7ffff 0xffffffff 0xffffffff 0xffffffff instdone accu = 0x00000000 0x00000000 0x00000000 0x00000000 Hangcheck active, fires in 1692ms render ring: seqno = fffff55e [current fffff55e] ACTHD = 0x1f49b0366dc [current 0x1f4dcbd88ec] max ACTHD = 0x1f49b0366dc score = 0 action = 2 instdone read = 0xffd7ffff 0xffffffff 0xffffffff 0xffffffff instdone accu = 0x00000000 0x00000000 0x00000000 0x00000000 v2: use the new gem_wait() function (Chris) v3: switch to unterminated batch and rename test, remove redundant check, update test requirements (Chris), update top comment v4: force gpu reset if the hang detection fails (Mika) Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Cc: Arun Siluvery <arun.siluvery@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> [Mika: removed batch_len=8] Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2016-03-01lib: move i915_wedged_set to ig_gt.cDaniele Ceraolo Spurio
Upcoming tests will call it to recover from bad states caused by hangcheck bugs.the function was renamed to igt_force_gpu_reset to have a naming closer to other hang-related functions in the same file. The value written to the debugfs has also been changed to -1; this makes no differences with the current implementation but copes with upcoming TDR changes (still under discussion) that should allow the resetting of a mask of rings. Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2016-03-01igt/gem_concurrent_blit: Deglobalify num_buffersChris Wilson
More num_buffers onto the local struct passed down into the tests to avoid the issue with having to modify the global value inside the tests leading to hilarity if the test asserts. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-01lib: Add read/write direction support for dmabuf synchronisationChris Wilson
Allow read-only synchronisation on dmabuf mmaps, useful to allow concurrent read-read testing between the CPU and GPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-29tests/kms_force_connector_basic: Disable all crtc's for load-detect.Maarten Lankhorst
Load detection requires a inactive crtc to run. The CI igt tests are failing, so ensure there is at least 1 inactive crtc. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2016-02-26igt/gem_sync: Enforce a timeout of 20sChris Wilson
The sync test is supposed to complete in 10s. But some bugs cause it to run very, very slowly. As a defence against those, terminate the test if we wait for more than 20s. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-26kms_atomic: drop unnecessary connector looping from plane_primary testMatt Roper
Local variable num_connectors is never initialized before being auto-incremented in the loop. If we wind up with a non-zero garbage value, it will lead us to try to write to an out-of-bounds array index. We should probably initialize it to zero before use. However on closer inspection, the plane_primary test doesn't actually wind up using the connector list or number of connectors, so just remove the whole block of code; it was probably brought in by accident as part of a copy-paste operation. Cc: Daniel Stone <daniels@collabora.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
2016-02-26igt/drv_hangman: Tidy up assertion failure messageChris Wilson
Because (drv_hangman:6035) CRITICAL: Failed assertion: !((__extension__ (__builtin_constant_p (l) && ((__builtin_constant_p (tmp) && strlen (tmp) < ((size_t) (l))) || (__builtin_constant_p (s) && strlen (s) < ((size_t) (l)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (tmp) && __builtin_constant_p (s) && (__s1_len = strlen (tmp), __s2_len = strlen (s), (!((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((s) + 1) - (size_t)(const void *)(s) == 1) || __s2_len >= 4)) ? __builtin_strcmp (tmp, s) : (__builtin_constant_p (tmp) && ((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) && (__s1_len = strlen (tmp), __s1_len < 4) ? (__builtin_constant_p (s) && ((size_t)(const void *)((s) + 1) - (size_t)(const void *)(s) == 1) ? __builtin_strcmp (tmp, s) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (s); int __result = (((const unsigned char *) (const char *) (tmp))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (tmp))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (tmp))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (tmp))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (s) && ((size_t)(const void *)((s) + 1) - (size_t)(const void *)(s) == 1) && (__s2_len = strlen (s), __s2_len < 4) ? (__builtin_constant_p (tmp) && ((size_t)(const void *)((tmp) + 1) - (size_t)(const void *)(tmp) == 1) ? __builtin_strcmp (tmp, s) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (tmp); int __result = (((const unsigned char *) (const char *) (s))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (s))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (s))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (s))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (tmp, s)))); }) : strncmp (tmp, s, l))) == 0) is a little hard to understand at a glance. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-26igt/gem_sync: Test across all rings simultaneouslyChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-26igt/gem_sync: Add some forked variantsChris Wilson
Repeat the synchronisation test with a few competing processes. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-25igt/gem_concurrent_blit: Pretend tests existChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-25igt/gem_concurrent_blit: Add dmabuf exercisersChris Wilson
Create and use dmabuf mmaps as well to ensure correct synchronisation between concurrent rendering and CPU access. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-23lib: Move gem_wait() to ioctl-wrappersChris Wilson
We intend to use gem_wait() in more tests than gem_wait.c, so move the simple ioctl wrapper into the core. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-19kms_frontbuffer_tracking: add basic subtestPaulo Zanoni
This test executes one of each of the very basic operations with whatever features are enabled by default in the Kernel, without checking their statuses: we only care about the CRCs. Although it's completely redundant, it will be ran by the CI so we can spot regressions both in the specific features and in the frontbuffer tracking subsystem. We're not checking sink CRCs since they're still unreliable and we don't want false negatives in the CI. It takes 5 seconds to run this test on my machines. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-02-19kms_frontbuffer_tracking: don't fail fbc-farfromfence on SKLPaulo Zanoni
SKL doesn't do the same dspaddr_offset magic as the older gens, so FBC may not be enabled on fbc-farfromfence. This is not a bug since FBC is just disabled, and this is the expected case of the current Kernel, so let's not fail the test. If/once we land the proper infrastructure to fix this in the Kernel we may revert this commit. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2016-02-19igt/gem_exec_reloc: Check WC mmaps as wellChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-19lib/igt_pm: Lib for power managementDavid Weinehall
Move power management related code to a separate library. Initially this is done only for workarounds that apply to external components. Modify the users of such workarounds accordingly. This currently involves HD audio and SATA link power management. For SATA link PM there's also code to save the previous settings, to allow for resetting the values after we've finished testing. Signed-off-by: David Weinehall <david.weinehall@intel.com> Reviewed-by: Marius Vlad <marius.c.vlad@intel.com> Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-02-18lib: Restore gem_available_aperture_size()Chris Wilson
Missed an error whilst rebasing and trying to modify the previous patch to keep this function intact... Instead, I now have to add this patch to restore gem_available_aperture_size() and its one usage. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-18igt: Report the global GTT sizeChris Wilson
For many tests, the relevant aperture is not the ppGTT but the internal global GTT managed by the kernel. Use this limit appropriately. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-18igt: Mark gem_cs_tlb/gem_cs_prefetch as a pair of basic GTT layout testsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-18igt/gem_ctx_thrash: Combine context thrashing with a render testChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-18igt/gem_ctx_thrash: Double number of threads/proceessesChris Wilson
Slightly increase the stress by doubling the number of contending threads and the number of times we try and use each ctx/fd. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-14tests/prime_mmap: Encapsulate check_for_dma_buf_mmap() in igt_fixture.Marius Vlad
This unbreaks distcheck target that in turn runs each test with --list-subtests. Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
2016-02-12igt/gem_userptr_blits: Flip sign on error checkChris Wilson
Following conversion to __gem_execbuf() we need to consider that it returns -errno when checking the result. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94117 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-02-11tests: Add prime_mmap_coherency for cache coherency testsTiago Vignatti
Different than kms_mmap_write_crc that captures the coherency issues within the scanout mapped buffer, this one is meant for test dma-buf mmap on !llc platforms mostly and provoke coherency bugs so we know where we need the sync ioctls. I tested this with !llc and llc platforms, BTY and IVY respectively. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2016-02-11tests: Add kms_mmap_write_crc for cache coherency testsTiago Vignatti
This program can be used to detect when CPU writes in the dma-buf mapped object don't land in scanout due cache incoherency. Although this seems a problem inherently of non-LCC machines ("Atom"), this particular test catches a cache dirt on scanout on LLC machines as well. It's inspired in Ville's kms_pwrite_crc.c and can be used also to test the correctness of the driver's begin_cpu_access and end_cpu_access (which requires i915 implementation. To see the need for flush, one has to run using '-n' option to not call the sync ioctls which, via a rather simple CPU hog the system will trashes the caches, while the test will catch the coherency issue. If you now suppress '-n', then things should just work like expected. I tested this with !llc and llc platforms, BTY and IVY respectively. v2: use prime_handle_to_fd_for_mmap instead. v3: merge end_cpu_access() patch with this and provide options to disable sync. v4: use library's prime_sync_{start,end} instead. v7: use CPU hog instead and use testing rounds to catch the sync problems. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2016-02-11lib: Add prime_sync_start and prime_sync_end helpersTiago Vignatti
This patch adds dma-buf mmap synchronization ioctls that can be used by tests for cache coherency management e.g. when CPU and GPU domains are being accessed through dma-buf at the same time. v7: add sync invalid flags test. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2016-02-11prime_mmap: Add basic tests to write in a bo using CPUTiago Vignatti
This patch adds test_correct_cpu_write, which maps the texture buffer through a prime fd and then writes directly to it using the CPU. It stresses the driver to guarantee cache synchronization among the different domains. This test also adds test_forked_cpu_write, which creates the GEM bo in one process and pass the prime handle of the it to another process, which in turn uses the handle only to map and write. Roughly speaking this test simulates Chrome OS architecture, where the Web content ("unpriviledged process") maps and CPU-draws a buffer, which was previously allocated in the GPU process ("priviledged process"). This requires kernel modifications (Daniel Thompson's "drm: prime: Honour O_RDWR during prime-handle-to-fd") and therefore prime_handle_to_fd_for_mmap is added to fail in case these lack. Also, upcoming tests (e.g. next patch) are going to use it as well, so make it public and available in the lib. v2: adds prime_handle_to_fd_with_mmap for skipping test in older kernels and test for invalid flags. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2016-02-11prime_mmap: Add new test for calling mmap() on dma-buf fdsRob Bradford
This test has the following subtests: - test_correct for correctness of the data - test_map_unmap checks for mapping idempotency - test_reprime checks for dma-buf creation idempotency - test_forked checks for multiprocess access - test_refcounting checks for buffer reference counting - test_dup checks that dup()ing the fd works - test_userptr make sure it fails when mmaping due the lack of obj->base.filp in a userptr. - test_errors checks the error return values for failures - test_aperture_limit tests multiple buffer creation at the gtt aperture limit v2 (Tiago): Removed pattern_check(), which was walking through a useless iterator. Removed superfluous PROT_WRITE from gem_mmap, in test_correct(). Added binary file to .gitignore v3 (Tiago): squash patch "prime_mmap: Test for userptr mmap" into this one. v4 (Tiago): use synchronized userptr for testing. Add test for buffer overlapping. Signed-off-by: Rob Bradford <rob@linux.intel.com> Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2016-02-11lib: Add gem_userptr and __gem_userptr helpersTiago Vignatti
This patch moves userptr definitions and helpers implementation that were locally in gem_userptr_benchmark and gem_userptr_blits to the library, so other tests can make use of them as well. There's no functional changes. v2: added __ function to differentiate when errors want to be handled back in the caller; bring gem_userptr_sync back to gem_userptr_blits; added gtkdoc. v8: remove local_i915_gem_userptr from gem_concurrent_all.c to use the global helpers instead. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>