mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-19 13:56:23 +00:00
These tests exercise the userptr ioctl to create shared buffers between CPU and GPU. They contain error and normal usage scenarios. They also contain a couple of stress tests which copy buffers between CPU and GPU. These tests rely on the softpin patch in order to pin buffers to a certain VA. Caveat: These tests were designed to run on 64-bit system. Future work includes adding logic to ensure these tests can run on 32-bit systems with PPGTT support. Some tests are currently disabled for 32-bit systems for that reason. v2: Added cc and signed-off-by fields v3: Fixed review comments, added helper functions. Removed userptr error scenarios covered by existing userptr tests. Modified stress test to have 100K buffers, it now runs for ~30 mins, checks every element has been written to correctly, and pins buffers at different VMAs. v4: Changed name to gem_softpin v5: More fixes. Removed the file based tests, will move them to userptr tests. Added a function that validates appropriate PPGTT support before running tests. Optimized stack space and memory footprint in stress test. Removed the eviction test, will add it back after verifying proper functionality. v6: Split basic test into userptr and bo Fixed some coding style issues. v7: Enhanced invalid vma pinning test to verify 32-bit PPGTT functionality. Enabled the test for 32-bit PPGTT systems, and verify pinning fails above 32-bit addresses. Enhanced the high adress pinning test to ensure pinning fails when EXEC_OBJECT_PINNED flag is not used. Some more cosmetic fixes to close buffer handles. Changed userptr function to used synchronized operations. v8: Minor change to high address pinning test as per comment. v9: Skip the tests if softpin support is not present. v10: Removed trailing white spaces. v11: Keep alphabetical order in Makefile and gitignore; update error code returned while trying to pin above the max vm size (EINVAL); test attempt to pin above 4GB without the support 48b flag. Cc: Michel Thierry <michel.thierry@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com> Signed-off-by: Michel Thierry <michel.thierry@intel.com> (v11) Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
254 lines
5.1 KiB
Makefile
254 lines
5.1 KiB
Makefile
NOUVEAU_TESTS_M = \
|
|
prime_nv_api \
|
|
prime_nv_pcopy \
|
|
prime_nv_test \
|
|
$(NULL)
|
|
|
|
TESTS_progs_M = \
|
|
core_get_client_auth \
|
|
drv_getparams_basic \
|
|
drv_suspend \
|
|
drv_hangman \
|
|
gem_bad_reloc \
|
|
gem_basic \
|
|
gem_caching \
|
|
gem_close_race \
|
|
gem_concurrent_blit \
|
|
gem_concurrent_all \
|
|
gem_create \
|
|
gem_cs_tlb \
|
|
gem_ctx_param_basic \
|
|
gem_ctx_bad_exec \
|
|
gem_ctx_exec \
|
|
gem_dummy_reloc_loop \
|
|
gem_eio \
|
|
gem_evict_alignment \
|
|
gem_evict_everything \
|
|
gem_exec_alignment \
|
|
gem_exec_bad_domains \
|
|
gem_exec_faulting_reloc \
|
|
gem_exec_nop \
|
|
gem_exec_params \
|
|
gem_exec_parse \
|
|
gem_fenced_exec_thrash \
|
|
gem_fence_thrash \
|
|
gem_fence_upload \
|
|
gem_flink_basic \
|
|
gem_flink_race \
|
|
gem_linear_blits \
|
|
gem_madvise \
|
|
gem_mmap \
|
|
gem_mmap_gtt \
|
|
gem_mmap_wc \
|
|
gem_partial_pwrite_pread \
|
|
gem_persistent_relocs \
|
|
gem_pipe_control_store_loop \
|
|
gem_ppgtt \
|
|
gem_pread \
|
|
gem_pread_after_blit \
|
|
gem_pwrite \
|
|
gem_pwrite_pread \
|
|
gem_pwrite_snooped \
|
|
gem_readwrite \
|
|
gem_read_read_speed \
|
|
gem_reloc_overflow \
|
|
gem_reloc_vs_gpu \
|
|
gem_render_copy_redux \
|
|
gem_request_retire \
|
|
gem_reset_stats \
|
|
gem_ringfill \
|
|
gem_set_tiling_vs_blt \
|
|
gem_softpin \
|
|
gem_stolen \
|
|
gem_storedw_batches_loop \
|
|
gem_streaming_writes \
|
|
gem_tiled_blits \
|
|
gem_tiled_partial_pwrite_pread \
|
|
gem_userptr_blits \
|
|
gem_write_read_ring_switch \
|
|
kms_addfb_basic \
|
|
kms_atomic \
|
|
kms_cursor_crc \
|
|
kms_draw_crc \
|
|
kms_fbc_crc \
|
|
kms_fbcon_fbt \
|
|
kms_flip \
|
|
kms_flip_event_leak \
|
|
kms_flip_tiling \
|
|
kms_frontbuffer_tracking \
|
|
kms_legacy_colorkey \
|
|
kms_mmio_vs_cs_flip \
|
|
kms_pipe_b_c_ivb \
|
|
kms_pipe_crc_basic \
|
|
kms_plane \
|
|
kms_psr_sink_crc \
|
|
kms_render \
|
|
kms_rotation_crc \
|
|
kms_setmode \
|
|
kms_universal_plane \
|
|
kms_vblank \
|
|
kms_crtc_background_color \
|
|
kms_plane_scaling \
|
|
kms_panel_fitting \
|
|
pm_backlight \
|
|
pm_lpsp \
|
|
pm_rpm \
|
|
pm_rps \
|
|
pm_rc6_residency \
|
|
pm_sseu \
|
|
prime_self_import \
|
|
template \
|
|
$(NULL)
|
|
|
|
TESTS_progs = \
|
|
core_auth \
|
|
core_getclient \
|
|
core_getstats \
|
|
core_getversion \
|
|
core_prop_blob \
|
|
core_setmaster_vs_auth \
|
|
drm_import_export \
|
|
drm_read \
|
|
drm_vma_limiter \
|
|
drm_vma_limiter_cached \
|
|
drm_vma_limiter_cpu \
|
|
drm_vma_limiter_gtt \
|
|
gem_bad_length \
|
|
gem_cpu_reloc \
|
|
gem_cs_prefetch \
|
|
gem_ctx_bad_destroy \
|
|
gem_ctx_basic \
|
|
gem_ctx_create \
|
|
gem_ctx_thrash \
|
|
gem_double_irq_loop \
|
|
gem_exec_big \
|
|
gem_exec_blt \
|
|
gem_exec_lut_handle \
|
|
gem_fd_exhaustion \
|
|
gem_gtt_cpu_tlb \
|
|
gem_gtt_hog \
|
|
gem_gtt_speed \
|
|
gem_hangcheck_forcewake \
|
|
gem_largeobject \
|
|
gem_lut_handle \
|
|
gem_mmap_offset_exhaustion \
|
|
gem_media_fill \
|
|
gem_gpgpu_fill \
|
|
gem_pin \
|
|
gem_reg_read \
|
|
gem_render_copy \
|
|
gem_render_linear_blits \
|
|
gem_render_tiled_blits \
|
|
gem_ring_sync_copy \
|
|
gem_ring_sync_loop \
|
|
gem_multi_bsd_sync_loop \
|
|
gem_seqno_wrap \
|
|
gem_set_tiling_vs_gtt \
|
|
gem_set_tiling_vs_pwrite \
|
|
gem_storedw_loop \
|
|
gem_threaded_access_tiled \
|
|
gem_tiled_fence_blits \
|
|
gem_tiled_pread_basic \
|
|
gem_tiled_pread_pwrite \
|
|
gem_tiled_swapping \
|
|
gem_tiled_wb \
|
|
gem_tiled_wc \
|
|
gem_tiling_max_stride \
|
|
gem_unfence_active_buffers \
|
|
gem_unref_active_buffers \
|
|
gem_wait \
|
|
gem_workarounds \
|
|
gen3_mixed_blits \
|
|
gen3_render_linear_blits \
|
|
gen3_render_mixed_blits \
|
|
gen3_render_tiledx_blits \
|
|
gen3_render_tiledy_blits \
|
|
gen7_forcewake_mt \
|
|
kms_3d \
|
|
kms_fence_pin_leak \
|
|
kms_force_connector_basic \
|
|
kms_pwrite_crc \
|
|
kms_sink_crc_basic \
|
|
prime_udl \
|
|
$(NULL)
|
|
|
|
# IMPORTANT: The ZZ_ tests need to be run last!
|
|
# ... and make can't deal with inlined comments ...
|
|
TESTS_scripts_M = \
|
|
$(NULL)
|
|
|
|
TESTS_scripts = \
|
|
debugfs_emon_crash \
|
|
drv_debugfs_reader \
|
|
drv_missed_irq_hang \
|
|
drv_module_reload_basic \
|
|
kms_sysfs_edid_timing \
|
|
sysfs_l3_parity \
|
|
test_rte_check \
|
|
tools_test \
|
|
$(NULL)
|
|
|
|
# This target contains testcases which support automagic subtest enumeration
|
|
# from the piglit testrunner with --list-subtests and running individual
|
|
# subtests with --run-subtest <testname>
|
|
#
|
|
# Your testcase should probably use an igt_main and igt_fixture and should have
|
|
# a pile of igt_subtest blocks.
|
|
multi_kernel_tests = \
|
|
$(TESTS_progs_M) \
|
|
$(TESTS_scripts_M) \
|
|
$(NULL)
|
|
|
|
# This target is for simple testcase which don't expose any subtest.
|
|
#
|
|
# Your testcase should probably use igt_simple_main, but none of the other magic
|
|
# blocks like igt_fixture or igt_subtest.
|
|
single_kernel_tests = \
|
|
$(TESTS_progs) \
|
|
$(TESTS_scripts) \
|
|
$(NULL)
|
|
|
|
kernel_tests = \
|
|
$(single_kernel_tests) \
|
|
$(multi_kernel_tests) \
|
|
$(NULL)
|
|
|
|
# Test that exercise specific asserts in the test framework library and are
|
|
# hence expected to fail.
|
|
XFAIL_TESTS = \
|
|
igt_no_exit \
|
|
igt_no_exit_list_only \
|
|
igt_no_subtest \
|
|
$(NULL)
|
|
|
|
# IMPORTANT: These tests here are all disabled because the result in sometime
|
|
# unrecoverable gpu hangs. Don't put real testcases here.
|
|
HANG = \
|
|
gem_bad_batch \
|
|
gem_hang \
|
|
gem_bad_blit \
|
|
gem_bad_address \
|
|
gem_non_secure_batch \
|
|
$(NULL)
|
|
|
|
scripts = \
|
|
check_drm_clients \
|
|
ddx_intel_after_fbdev \
|
|
debugfs_wedged \
|
|
drm_lib.sh \
|
|
$(NULL)
|
|
|
|
IMAGES = pass.png 1080p-left.png 1080p-right.png
|
|
|
|
testdisplay_SOURCES = \
|
|
testdisplay.c \
|
|
testdisplay.h \
|
|
testdisplay_hotplug.c \
|
|
$(NULL)
|
|
|
|
TESTS_progs += testdisplay
|
|
|
|
common_files = \
|
|
eviction_common.c \
|
|
$(NULL)
|