summaryrefslogtreecommitdiff
path: root/tests/prime_mmap_coherency.c
AgeCommit message (Collapse)Author
2018-01-30igt/prime_mmap_coherency: Close dmabuf after useChris Wilson
As we loop over the coherency tests many times, we need to close the dmabufs opened on every pass to prevent a fd leak and the test exploding when it hits the process limit. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103649 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2017-10-24igt/prime_mmap_coherency: Remove manual gem_sync() callsChris Wilson
Emphasize that we want to test synchronisation using the dmabuf API (prime_sync_start, prime_sync_end) and so drop the manual synchronisation using the GEM API (gem_sync). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-10-19igt/prime_mmap_coherency: Call prime_sync_start before read after writeChris Wilson
We never declared that we were about to read from the mmap after copying into it using the BLT (a missed call to prime_sync_start); leaving its coherency ill-defined. For completeness, add the missing prime_sync_end() as well. v2: Another prime_sync_start/end around the is-zero check in test_read_flush() Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103168 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-10-17igt/prime_mmap_coherency: Only assert correct usage of sync APIChris Wilson
Ignore the unexpected success when the CPU cache is randomly flushed that makes !llc appear to work without sync. It happens, the cpu cache is a fickle beast that we do not have sole control over. Instead limit the test to detect failures when the API is being adhered to. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103168 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2017-04-08igt/prime_mmap_coherency: Reorder cache flushes to avoid excess pressureChris Wilson
Flush the secondary buffer from the cpu cache before dirtying the cache for the primary to ensure a better chance of the primary buffer remaining in cache, causing the incoherency. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-04-08tests: More require GEM markupChris Wilson
A few more tests that use i915/gem without first checking that the GPU is working. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-12lib/igt_aux: Polish docs for igt_interruptibleDaniel Vetter
- Give __ prefix to internal funcstion and structs, only igt_interruptible is used by tests. - Move docs to igt_interruptible and adjust. - Explain more clearly how the timeout is getting doubled each iteration until no more interruptions happen. Also rename the argument to give it a more meaningful name in the docs. - Link from other functions to this one for cross-referencing. - Rename to igt_do_interruptible to make it clearer it's a loop, inspired by do {} while () loops. v2: Rename instead to igt_while_interruptible and fix typos (Chris). And add gtk-doc for igt_ioctl, too. Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2016-03-19igt/prime_mmap_coherency: Speed up interruptible testingChris Wilson
Use the new fangled igt_interruptible() to limit the number of passes we require when performing signal injection. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-03-18prime_mmap_coherency: Add return error tests for prime sync ioctlTiago Vignatti
This patch adds ioctl-errors subtest to be used for exercising prime sync ioctl errors. The subtest constantly interrupts via signals a function doing concurrent blit to stress out the right usage of prime_sync_*, making sure these ioctl errors are handled accordingly. Important to note that in case of failure (e.g. in a case where the ioctl wouldn't try again in a return error) this test does not reliably catch the problem with 100% of accuracy. v2: fix prime sync direction when reading mmap'ed file. v3: change the upper bound using time rather than loops Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> [ickle: fix memleak, run for longer]
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-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>