mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2026-08-17 19:32:58 +00:00
tests: Add kms_mmap_write_crc for cache coherency tests
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>
This commit is contained in:
@@ -168,6 +168,7 @@ TESTS_progs = \
|
||||
kms_3d \
|
||||
kms_fence_pin_leak \
|
||||
kms_force_connector_basic \
|
||||
kms_mmap_write_crc \
|
||||
kms_pwrite_crc \
|
||||
kms_sink_crc_basic \
|
||||
prime_udl \
|
||||
|
||||
Reference in New Issue
Block a user