From fee7b81061de9e6b853d8c959d056c907218ff5b Mon Sep 17 00:00:00 2001 From: Nicolas Benech Date: Mon, 23 Mar 2020 14:36:56 -0400 Subject: [PATCH] gpu: nvgpu: unit: required tests system When running unit testing, we need to ensure that all expected unit tests were actually run. This used to be done by an external Python script, but it is not suitable for some OSes. This patch brings this mechanism into the unit testing framework, and makes use of an INI file to provide the list of expected tests. JIRA NVGPU-3072 Change-Id: I9ed590de9005fe10324c594ea33ebc8fda482019 Signed-off-by: Nicolas Benech Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2317220 Reviewed-by: automaticguardword Reviewed-by: Alex Waterman Reviewed-by: mobile promotions Tested-by: mobile promotions GVS: Gerrit_Virtual_Submit --- userspace/Makefile.sources | 1 + userspace/Makefile.tmk | 7 +- userspace/include/unit/args.h | 1 + userspace/include/unit/required_tests.h | 31 + userspace/required_tests.ini | 1119 +++++ userspace/required_tests.json | 4967 ----------------------- userspace/src/args.c | 9 +- userspace/src/required_tests.c | 333 ++ userspace/src/unit_main.c | 18 + userspace/unit.sh | 6 +- 10 files changed, 1516 insertions(+), 4976 deletions(-) create mode 100644 userspace/include/unit/required_tests.h create mode 100644 userspace/required_tests.ini delete mode 100644 userspace/required_tests.json create mode 100644 userspace/src/required_tests.c diff --git a/userspace/Makefile.sources b/userspace/Makefile.sources index def5aa7df..2943d4e56 100644 --- a/userspace/Makefile.sources +++ b/userspace/Makefile.sources @@ -35,6 +35,7 @@ CORE_OBJS := \ $(CORE_OUT)/args.o \ $(CORE_OUT)/io.o \ $(CORE_OUT)/module.o \ + $(CORE_OUT)/required_tests.o \ $(CORE_OUT)/results.o \ $(CORE_OUT)/exec.o diff --git a/userspace/Makefile.tmk b/userspace/Makefile.tmk index efe5aeb00..5f52223f4 100644 --- a/userspace/Makefile.tmk +++ b/userspace/Makefile.tmk @@ -29,6 +29,7 @@ NVGPU_UNIT_COMMON_SRCS := \ src/args.c \ src/io.c \ src/module.c \ + src/required_tests.c \ src/results.c \ src/exec.c NVGPU_UNIT_COMMON_INCLUDES := \ @@ -61,7 +62,7 @@ _NV_TOOLCHAIN_CFLAGS += -rdynamic NV_UNIT_SH=unit.sh NV_SUBMIT_UNIT_SH=nvgpu_submit_unit.sh NV_TESTLIST_PY=testlist.py -NV_REQ_TESTS_JSON=required_tests.json +NV_REQ_TESTS_INI=required_tests.ini NV_NETD_IMG=NETD_img.bin NV_FECS_IMG=fecs.bin NV_FECS_SIG_IMG=fecs_sig.bin @@ -75,7 +76,7 @@ NV_UNIT_REQ_FIRMWARE_DIR := $(NV_COMPONENT_SYSTEMIMAGE_DIR)/firmware/gv11 systemimage:: $(NV_COMPONENT_SYSTEMIMAGE_DIR) $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_UNIT_SH) \ $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/$(NV_SUBMIT_UNIT_SH) \ $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_TESTLIST_PY) \ - $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_REQ_TESTS_JSON) \ + $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_REQ_TESTS_INI) \ $(NV_UNIT_REQ_FIRMWARE_DIR) $(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_NETD_IMG) \ $(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_FECS_IMG) \ $(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_FECS_SIG_IMG) \ @@ -99,7 +100,7 @@ $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/$(NV_SUBMIT_UNIT_SH) : $(NV_COMPONENT_DIR) $(CP) $< $@ $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_TESTLIST_PY) : $(NV_COMPONENT_DIR)/$(NV_TESTLIST_PY) $(NV_COMPONENT_SYSTEMIMAGE_DIR) $(CP) $< $@ -$(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_REQ_TESTS_JSON) : $(NV_COMPONENT_DIR)/$(NV_REQ_TESTS_JSON) $(NV_COMPONENT_SYSTEMIMAGE_DIR) +$(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_REQ_TESTS_INI) : $(NV_COMPONENT_DIR)/$(NV_REQ_TESTS_INI) $(NV_COMPONENT_SYSTEMIMAGE_DIR) $(CP) $< $@ $(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_NETD_IMG) : $(NV_COMPONENT_DIR)/firmware/gv11b/$(NV_NETD_IMG) $(NV_UNIT_REQ_FIRMWARE_DIR) $(CP) $< $@ diff --git a/userspace/include/unit/args.h b/userspace/include/unit/args.h index 5a90af1ed..e09f96f00 100644 --- a/userspace/include/unit/args.h +++ b/userspace/include/unit/args.h @@ -53,6 +53,7 @@ struct unit_fw_args { const char *unit_name; const char *unit_load_path; const char *unit_to_run; + const char *required_tests_file; }; int core_parse_args(struct unit_fw *fw, int argc, char **argv); diff --git a/userspace/include/unit/required_tests.h b/userspace/include/unit/required_tests.h new file mode 100644 index 000000000..7a1aba188 --- /dev/null +++ b/userspace/include/unit/required_tests.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#ifndef __REQUIRED_TESTS_H__ +#define __REQUIRED_TESTS_H__ + +#define MAX_LINE_SIZE 256 + +int parse_req_file(struct unit_fw *fw, const char *ini_file); +int check_executed_tests(struct unit_fw *fw); + +#endif diff --git a/userspace/required_tests.ini b/userspace/required_tests.ini new file mode 100644 index 000000000..ac9cab8ea --- /dev/null +++ b/userspace/required_tests.ini @@ -0,0 +1,1119 @@ +# +# Copyright (c) 2020, NVIDIA CORPORATION. All Rights Reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +[atomic] +test_atomic_add_unless.atomic_add_unless_32=0 +test_atomic_add_unless.atomic_add_unless_64=0 +test_atomic_arithmetic.atomic_add_32=0 +test_atomic_arithmetic.atomic_add_64=0 +test_atomic_arithmetic.atomic_dec_32=0 +test_atomic_arithmetic.atomic_dec_64=0 +test_atomic_arithmetic.atomic_dec_and_test_32=0 +test_atomic_arithmetic.atomic_dec_and_test_64=0 +test_atomic_arithmetic.atomic_inc_32=0 +test_atomic_arithmetic.atomic_inc_64=0 +test_atomic_arithmetic.atomic_inc_and_test_32=0 +test_atomic_arithmetic.atomic_inc_and_test_64=0 +test_atomic_arithmetic.atomic_sub_32=0 +test_atomic_arithmetic.atomic_sub_64=0 +test_atomic_arithmetic.atomic_sub_and_test_32=0 +test_atomic_arithmetic.atomic_sub_and_test_64=0 +test_atomic_arithmetic_and_test_threaded.atomic_dec_and_test_32_threaded=1 +test_atomic_arithmetic_and_test_threaded.atomic_dec_and_test_64_threaded=1 +test_atomic_arithmetic_and_test_threaded.atomic_dec_and_test_not_atomic_threaded=1 +test_atomic_arithmetic_and_test_threaded.atomic_inc_and_test_32_threaded=1 +test_atomic_arithmetic_and_test_threaded.atomic_inc_and_test_64_threaded=1 +test_atomic_arithmetic_and_test_threaded.atomic_inc_and_test_not_atomic_threaded=1 +test_atomic_arithmetic_and_test_threaded.atomic_sub_and_test_32_threaded=1 +test_atomic_arithmetic_and_test_threaded.atomic_sub_and_test_64_threaded=1 +test_atomic_arithmetic_and_test_threaded.atomic_sub_and_test_not_atomic_threaded=1 +test_atomic_arithmetic_threaded.atomic_add_32_threaded=0 +test_atomic_arithmetic_threaded.atomic_add_64_threaded=0 +test_atomic_arithmetic_threaded.atomic_add_unless_32_threaded=1 +test_atomic_arithmetic_threaded.atomic_add_unless_64_threaded=1 +test_atomic_arithmetic_threaded.atomic_cmpxchg_32_threaded=0 +test_atomic_arithmetic_threaded.atomic_cmpxchg_64_threaded=0 +test_atomic_arithmetic_threaded.atomic_cmpxchg_not_atomic_threaded=0 +test_atomic_arithmetic_threaded.atomic_dec_32_threaded=0 +test_atomic_arithmetic_threaded.atomic_dec_64_threaded=0 +test_atomic_arithmetic_threaded.atomic_inc_32_threaded=0 +test_atomic_arithmetic_threaded.atomic_inc_64_threaded=0 +test_atomic_arithmetic_threaded.atomic_sub_32_threaded=0 +test_atomic_arithmetic_threaded.atomic_sub_64_threaded=0 +test_atomic_cmpxchg.atomic_cmpxchg_32=0 +test_atomic_cmpxchg.atomic_cmpxchg_64=0 +test_atomic_set_and_read.atomic_set_and_read_32=0 +test_atomic_set_and_read.atomic_set_and_read_64=0 +test_atomic_xchg.atomic_xchg_32=0 +test_atomic_xchg.atomic_xchg_64=0 +test_atomic_xchg_threaded.atomic_xchg_32_threaded=1 +test_atomic_xchg_threaded.atomic_xchg_64_threaded=1 +test_atomic_xchg_threaded.atomic_xchg_not_atomic_threaded=1 + +[bit_utils] +test_hi_lo.hi_lo=0 +test_fields.fields=0 + +[bitmap_allocator] +test_nvgpu_bitmap_allocator_alloc.alloc=0 +test_nvgpu_bitmap_allocator_critical.critical=0 +test_nvgpu_bitmap_allocator_destroy.free=0 +test_nvgpu_bitmap_allocator_init.init=0 +test_nvgpu_bitmap_allocator_ops.ops=0 + +[buddy_allocator] +test_buddy_allocator_with_big_pages.ops_big_pages=0 +test_buddy_allocator_with_small_pages.ops_small_pages=0 +test_nvgpu_buddy_allocator_alloc.alloc=0 +test_nvgpu_buddy_allocator_basic_ops.basic_ops=0 +test_nvgpu_buddy_allocator_carveout.carveout=0 +test_nvgpu_buddy_allocator_destroy.destroy=0 +test_nvgpu_buddy_allocator_init.init=0 + +[bus] +test_bar_bind.bus_bar_bind=0 +test_bus_free_reg_space.bus_free_reg_space=0 +test_bus_isr.bus_isr=0 +test_bus_setup.bus_setup=0 +test_init_hw.bus_init_hw=0 + +[ce] +test_ce_init_support.ce_init_support=0 +test_ce_nonstall_isr.ce_nonstall_isr=0 +test_ce_stall_isr.ce_stall_isr=0 +test_free_env.ce_free_env=0 +test_get_num_pce.ce_get_num_pce=0 +test_init_prod_values.ce_init_prod_values=0 +test_mthd_buffer_fault_in_bar2_fault.mthd_buffer_fault_in_bar2_fault=0 +test_setup_env.ce_setup_env=0 + +[cg] +init_test_env.init=0 +test_cg.blcg_ce=0 +test_cg.blcg_fb_ltc=0 +test_cg.blcg_fifo=0 +test_cg.blcg_gr=0 +test_cg.blcg_gr_load_gating_prod=0 +test_cg.blcg_pmu=0 +test_cg.slcg_ce2=0 +test_cg.slcg_fb_ltc=0 +test_cg.slcg_fifo=0 +test_cg.slcg_gr_load_gating_prod=0 +test_cg.slcg_pmu=0 +test_cg.slcg_priring=0 +test_cg.slcg_therm=0 +test_elcg.elcg=0 + +[class] +class_validate_setup.class_validate=0 + +[ecc] +test_ecc_counter_init.ecc_counter_init=0 +test_ecc_finalize_support.ecc_finalize_support=0 +test_ecc_free.ecc_free=0 +test_ecc_init_support.ecc_init_support=0 + +[enabled] +test_nvgpu_enabled_flags_false_check.enabled_flags_false_check=0 +test_nvgpu_free_enabled_flags.free=0 +test_nvgpu_init_enabled_flags.init=0 +test_nvgpu_set_enabled.set_enabled=0 + +[falcon] +free_falcon_test_env.falcon_free_test_env=0 +test_falcon_bootstrap.falcon_bootstrap=0 +test_falcon_get_id.falcon_get_id=0 +test_falcon_halt.falcon_halt=0 +test_falcon_idle.falcon_idle=0 +test_falcon_irq.falcon_irq=0 +test_falcon_mailbox.falcon_mailbox=0 +test_falcon_mem_rw_aligned.falcon_mem_rw_aligned=0 +test_falcon_mem_rw_fault.falcon_mem_rw_fault=0 +test_falcon_mem_rw_init.falcon_mem_rw_init=0 +test_falcon_mem_rw_inval_port.falcon_mem_rw_inval_port=0 +test_falcon_mem_rw_range.falcon_mem_rw_range=0 +test_falcon_mem_rw_unaligned_cpu_buffer.falcon_mem_rw_unaligned_cpu_buffer=0 +test_falcon_mem_rw_zero.falcon_mem_rw_zero=0 +test_falcon_mem_scrub.falcon_mem_scrub=0 +test_falcon_reset.falcon_reset=0 +test_falcon_sw_init_free.falcon_sw_init_free=0 + +[fault_injection] +test_dma_alloc_fi_default.dma_alloc_default=0 +test_dma_alloc_fi_delayed_enable.dma_alloc_delayed_enable=0 +test_dma_alloc_fi_enabled.dma_alloc_enabled=0 +test_dma_alloc_init.dma_alloc_init=0 +test_fault_injection_init.fault_injection_init=0 +test_kmem_cache_fi_default.cache_default=0 +test_kmem_cache_fi_delayed_disable.cache_delayed_disable=0 +test_kmem_cache_fi_delayed_enable.cache_delayed_enable=0 +test_kmem_cache_fi_enabled.cache_enabled=0 +test_kmem_init.init=0 +test_kmem_kmalloc_fi_default.kmalloc_default=0 +test_kmem_kmalloc_fi_delayed_disable.kmalloc_delayed_disable=0 +test_kmem_kmalloc_fi_delayed_enable.kmalloc_delayed_enable=0 +test_kmem_kmalloc_fi_enabled.kmalloc_enabled=0 + +[fb] +fb_gv11b_init.fb_gv11b_init=0 +fb_gv11b_init_test.fb_gv11b_init_test=0 +fb_gm20b_tlb_invalidate_test.fb_gm20b_tlb_invalidate_test=0 +fb_gm20b_mmu_ctrl_test.fb_gm20b_mmu_ctrl_test=0 +fb_mmu_fault_gv11b_init_test.fb_mmu_fault_gv11b_init_test=0 +fb_mmu_fault_gv11b_buffer_test.fb_mmu_fault_gv11b_buffer_test=0 +fb_mmu_fault_gv11b_snap_reg.fb_mmu_fault_gv11b_snap_reg=0 +fb_mmu_fault_gv11b_handle_fault.fb_mmu_fault_gv11b_handle_fault=0 +fb_mmu_fault_gv11b_handle_bar2_fault.fb_mmu_fault_gv11b_handle_bar2_fault=0 +fb_intr_gv11b_init_test.fb_intr_gv11b_init_test=0 +fb_intr_gv11b_isr_test.fb_intr_gv11b_isr_test=0 +fb_intr_gv11b_ecc_test.fb_intr_gv11b_ecc_test_L2TLB=0 +fb_intr_gv11b_ecc_test.fb_intr_gv11b_ecc_test_HUBTLB=0 +fb_intr_gv11b_ecc_test.fb_intr_gv11b_ecc_test_FILLUNIT=0 +fb_gv11b_cleanup.fb_gv11b_cleanup=0 + +[fbp] +test_fbp_free_reg_space.fbp_free_reg_space=0 +test_fbp_init_and_query.fbp_init_and_query=0 +test_fbp_remove_support.fbp_remove_support=0 +test_fbp_setup.fbp_setup=0 + +[flush_gk20a_fusa] +test_env_clean_flush_gk20a_fusa.env_clean=0 +test_env_init_flush_gk20a_fusa.env_init=0 +test_gk20a_mm_fb_flush.mm_fb_flush_s0=0 +test_gk20a_mm_fb_flush.mm_fb_flush_s1=0 +test_gk20a_mm_fb_flush.mm_fb_flush_s2=0 +test_gk20a_mm_fb_flush.mm_fb_flush_s3=0 +test_gk20a_mm_fb_flush.mm_fb_flush_s4=0 +test_gk20a_mm_fb_flush.mm_fb_flush_s5=0 +test_gk20a_mm_fb_flush.mm_fb_flush_s6=0 +test_gk20a_mm_l2_flush.mm_l2_flush_s0=0 +test_gk20a_mm_l2_flush.mm_l2_flush_s1=0 +test_gk20a_mm_l2_flush.mm_l2_flush_s2=0 +test_gk20a_mm_l2_flush.mm_l2_flush_s3=0 +test_gk20a_mm_l2_flush.mm_l2_flush_s4=0 +test_gk20a_mm_l2_flush.mm_l2_flush_s5=0 +test_gk20a_mm_l2_invalidate.mm_l2_invalidate_s0=0 +test_gk20a_mm_l2_invalidate.mm_l2_invalidate_s1=0 +test_gk20a_mm_l2_invalidate.mm_l2_invalidate_s2=0 +test_gk20a_mm_l2_invalidate.mm_l2_invalidate_s3=0 +test_gk20a_mm_l2_invalidate.mm_l2_invalidate_s4=0 + +[flush_gv11b_fusa] +test_env_clean_flush_gv11b_fusa.env_clean=0 +test_env_init_flush_gv11b_fusa.env_init=0 +test_gv11b_mm_l2_flush.mm_l2_flush_s0=0 +test_gv11b_mm_l2_flush.mm_l2_flush_s1=0 +test_gv11b_mm_l2_flush.mm_l2_flush_s2=0 +test_gv11b_mm_l2_flush.mm_l2_flush_s3=0 +test_gv11b_mm_l2_flush.mm_l2_flush_s4=0 +test_gv11b_mm_l2_flush.mm_l2_flush_s5=0 + +[fuse] +test_fuse_device_common_cleanup.fuse_gm20b_cleanup=0 +test_fuse_device_common_cleanup.fuse_gp10b_cleanup=0 +test_fuse_device_common_init.fuse_gm20b_init=0 +test_fuse_device_common_init.fuse_gp10b_init=0 +test_fuse_gm20b_basic_fuses.fuse_gm20b_basic_fuses=0 +test_fuse_gp10b_check_gcplex_fail.fuse_gp10b_check_gcplex_fail=0 +test_fuse_gp10b_check_non_sec.fuse_gp10b_check_non_sec=0 +test_fuse_gp10b_check_sec.fuse_gp10b_check_sec=0 +test_fuse_gp10b_check_sec_invalid_gcplex.fuse_gp10b_check_sec_invalid_gcplex=0 +test_fuse_gp10b_ecc.fuse_gp10b_ecc=0 +test_fuse_gp10b_feature_override_disable.fuse_gp10b_feature_override_disable=0 + +[gmmu_gk20a_fusa] +test_gk20a_get_pde_pgsz.pde_pgsz=0 +test_gk20a_get_pte_pgsz.pte_pgsz=0 + +[gmmu_gm20b_fusa] +test_gm20b_mm_get_big_page_sizes.get_big_pgsz=0 + +[gmmu_gp10b_fusa] +test_gp10b_get_max_page_table_levels.max_page_table_levels=0 +test_gp10b_get_pde0_pgsz.gp10b_get_pde0_pgsz_s0=0 +test_gp10b_get_pde0_pgsz.gp10b_get_pde0_pgsz_s1=0 +test_gp10b_get_pde0_pgsz.gp10b_get_pde0_pgsz_s2=0 +test_gp10b_get_pde0_pgsz.gp10b_get_pde0_pgsz_s3=0 +test_gp10b_get_pde0_pgsz.gp10b_get_pde0_pgsz_s4=0 +test_gp10b_get_pde0_pgsz.gp10b_get_pde0_pgsz_s5=0 +test_gp10b_mm_get_default_big_page_size.big_pgsz=0 +test_gp10b_mm_get_iommu_bit.iommu_bit=0 +test_gp10b_mm_get_mmu_levels.mmu_levels=0 +test_update_gmmu_pde0_locked.update_gmmu_pde0_locked_s0=0 +test_update_gmmu_pde0_locked.update_gmmu_pde0_locked_s1=0 +test_update_gmmu_pde3_locked.update_gmmu_pde3_locked=0 +test_update_gmmu_pte_locked.update_gmmu_pte_locked_s0=0 +test_update_gmmu_pte_locked.update_gmmu_pte_locked_s1=0 +test_update_gmmu_pte_locked.update_gmmu_pte_locked_s2=0 +test_update_gmmu_pte_locked.update_gmmu_pte_locked_s3=0 +test_update_gmmu_pte_locked.update_gmmu_pte_locked_s4=0 +test_update_gmmu_pte_locked.update_gmmu_pte_locked_s5=0 +test_update_gmmu_pte_locked.update_gmmu_pte_locked_s6=0 +test_update_gmmu_pte_locked.update_gmmu_pte_locked_s7=0 + +[gmmu_gv11b_fusa] +test_gv11b_gpu_phys_addr.gpu_phys_addr_s0=0 +test_gv11b_gpu_phys_addr.gpu_phys_addr_s1=0 +test_gv11b_gpu_phys_addr.gpu_phys_addr_s2=0 + +[init] +test_can_busy.init_can_busy=0 +test_check_gpu_state.init_check_gpu_state=0 +test_free_env.init_free_env=0 +test_get_litter_value.get_litter_value=0 +test_get_put.init_get_put=0 +test_hal_init.init_hal_init=0 +test_poweroff.init_poweroff=0 +test_poweron.init_poweron=0 +test_poweron_branches.init_poweron_branches=0 +test_quiesce.init_quiesce=0 +test_setup_env.init_setup_env=0 + +[interface_bsearch] +test_bsearch.test_bsearch=0 + +[interface_kref] +test_kref_get.kref_get=0 +test_kref_get_unless.kref_get_unless=0 +test_kref_init.kref_init=0 +test_kref_put.kref_put=0 +test_kref_put_return.kref_put_return=0 + +[interface_list] +test_list_add.list_all_head=0 +test_list_add.list_all_tail=0 +test_list_move.list_move=0 +test_list_replace.list_replace=0 + +[interface_lock] +test_lock_acquire_release.mutex_acquire_release=0 +test_lock_acquire_release.raw_spinlock_acquire_release=0 +test_lock_acquire_release.spinlock_acquire_release=0 +test_mutex_init.mutex_init=0 +test_mutex_tryacquire.mutex_tryacquire=0 + +[interface_rbtree] +test_enum.enum=0 +test_enum_next.enum_next=0 +test_insert.insert=0 +test_search.search=0 +test_search_less.search_less_than=0 +test_unlink.unlink=0 +test_unlink_corner_cases.unlink_corner_cases=0 + +[io] +test_writel_check.writel_check=0 + +[mc] +test_enable_disable_reset.enable_disable_reset=0 +test_free_env.mc_free_env=0 +test_intr_stall.intr_stall=0 +test_is_intr1_pending.is_intr1_pending=0 +test_is_stall_and_eng_intr_pending.intr_is_stall_and_eng_intr_pending=0 +test_isr_nonstall.isr_nonstall=0 +test_isr_stall.isr_stall=0 +test_pause_resume_mask.pause_resume_mask=0 +test_reset_mask.reset_mask=0 +test_setup_env.mc_setup_env=0 +test_unit_config.unit_config=0 +test_wait_for_deferred_interrupts.wait_for_deferred_interrupts=0 + +[mm.as] +test_as_alloc_share.as_alloc_share_0k_um=0 +test_as_alloc_share.as_alloc_share_64k_um=0 +test_as_alloc_share.as_alloc_share_64k_um_as_fail=0 +test_as_alloc_share.as_alloc_share_64k_um_busy_fail_1=0 +test_as_alloc_share.as_alloc_share_64k_um_busy_fail_2=0 +test_as_alloc_share.as_alloc_share_64k_um_vm_fail=0 +test_as_alloc_share.as_alloc_share_einval_um=0 +test_as_alloc_share.as_alloc_share_notp2_um=0 +test_as_alloc_share.as_alloc_share_uva=0 +test_as_alloc_share.as_alloc_share_uva_enabled=0 +test_init_mm.init=0 +test_gk20a_from_as.gk20a_from_as=0 + +[mm.dma] +test_mm_dma_alloc.alloc=0 +test_mm_dma_alloc_flags.alloc_flags=0 +test_mm_dma_alloc_map.alloc_map=0 +test_mm_dma_alloc_map_fault_injection.alloc_map_fault_inj=0 +test_mm_dma_init.init=0 + +[mm.mm] +test_mm_alloc_inst_block.alloc_inst_block=0 +test_mm_init_hal.init_hal=0 +test_mm_inst_block.inst_block=0 +test_mm_page_sizes.page_sizes=0 +test_mm_remove_mm_support.remove_support=0 +test_mm_suspend.suspend=0 +test_nvgpu_init_mm.init_mm=0 +test_nvgpu_mm_setup_hw.init_mm_hw=0 +test_gk20a_from_mm.gk20a_from_mm=0 +test_bar1_aperture_size_mb_gk20a.bar1_aperture_size=0 + +[mm_gp10b_fusa] +test_env_clean_mm_gp10b_fusa.env_clean=0 +test_env_init_mm_gp10b_fusa.env_init=0 +test_gp10b_mm_init_bar2_vm.mm_init_bar2_vm_s0=0 +test_gp10b_mm_init_bar2_vm.mm_init_bar2_vm_s1=0 +test_gp10b_mm_init_bar2_vm.mm_init_bar2_vm_s2=0 + +[mm_gv11b_fusa] +test_env_clean_mm_gv11b_fusa.env_clean=0 +test_env_init_mm_gv11b_fusa.env_init=0 +test_gv11b_mm_init_inst_block.inst_block_s0=0 +test_gv11b_mm_init_inst_block.inst_block_s1=0 +test_gv11b_mm_init_inst_block.inst_block_s2=0 +test_gv11b_mm_init_inst_block.inst_block_s3=0 +test_gv11b_mm_is_bar1_supported.is_bar1_supported=0 + +[mmu_fault_gv11b_fusa] +test_env_clean_mm_mmu_fault_gv11b_fusa.env_clean=0 +test_env_init_mm_mmu_fault_gv11b_fusa.env_init=0 +test_gv11b_mm_mmu_fault_disable_hw.disable_hw_s0=0 +test_gv11b_mm_mmu_fault_disable_hw.disable_hw_s1=0 +test_gv11b_mm_mmu_fault_handle_other_fault_notify.fault_notify_s0=0 +test_gv11b_mm_mmu_fault_handle_other_fault_notify.fault_notify_s1=0 +test_gv11b_mm_mmu_fault_handle_other_fault_notify.fault_notify_s2=0 +test_gv11b_mm_mmu_fault_parse_mmu_fault_info.parse_info_s0=0 +test_gv11b_mm_mmu_fault_parse_mmu_fault_info.parse_info_s1=0 +test_gv11b_mm_mmu_fault_parse_mmu_fault_info.parse_info_s2=0 +test_gv11b_mm_mmu_fault_parse_mmu_fault_info.parse_info_s3=0 +test_gv11b_mm_mmu_fault_parse_mmu_fault_info.parse_info_s4=0 +test_gv11b_mm_mmu_fault_parse_mmu_fault_info.parse_info_s5=0 +test_gv11b_mm_mmu_fault_parse_mmu_fault_info.parse_info_s6=0 +test_gv11b_mm_mmu_fault_setup_hw.setup_hw=0 +test_gv11b_mm_mmu_fault_setup_sw.setup_sw_s0=0 +test_gv11b_mm_mmu_fault_setup_sw.setup_sw_s1=0 +test_handle_mmu_fault_common.handle_mmu_common_s0=0 +test_handle_mmu_fault_common.handle_mmu_common_s10=0 +test_handle_mmu_fault_common.handle_mmu_common_s1=0 +test_handle_mmu_fault_common.handle_mmu_common_s2=0 +test_handle_mmu_fault_common.handle_mmu_common_s3=0 +test_handle_mmu_fault_common.handle_mmu_common_s4=0 +test_handle_mmu_fault_common.handle_mmu_common_s5=0 +test_handle_mmu_fault_common.handle_mmu_common_s6=0 +test_handle_mmu_fault_common.handle_mmu_common_s7=0 +test_handle_mmu_fault_common.handle_mmu_common_s8=0 +test_handle_mmu_fault_common.handle_mmu_common_s9=0 +test_handle_nonreplay_replay_fault.handle_nonreplay_s0=0 +test_handle_nonreplay_replay_fault.handle_nonreplay_s1=0 +test_handle_nonreplay_replay_fault.handle_nonreplay_s2=0 +test_handle_nonreplay_replay_fault.handle_nonreplay_s3=0 + +[nvgpu-acr] +free_falcon_test_env.acr_free_falcon_test_env=0 +test_acr_bootstrap_hs_acr.acr_bootstrap_hs_acr=0 +test_acr_construct_execute.acr_construct_execute=0 +test_acr_init.acr_init=0 +test_acr_is_lsf_lazy_bootstrap.acr_is_lsf_lazy_bootstrap=0 +test_acr_prepare_ucode_blob.acr_prepare_ucode_blob=0 + +[nvgpu-ltc] +test_determine_L2_size_bytes.ltc_determine_L2_size=0 +test_flush_ltc.ltc_flush=0 +test_ltc_ecc_init_free.ltc_ecc_init_free=0 +test_ltc_functionality_tests.ltc_functionality_tests=0 +test_ltc_init_support.ltc_init_support=0 +test_ltc_intr.ltc_intr=0 +test_ltc_intr_configure.ltc_intr_configure=0 +test_ltc_intr_en_illegal_compstat.ltc_intr_en_illegal_compstat=0 +test_ltc_negative_tests.ltc_negative_tests=0 +test_ltc_remove_support.ltc_remove_support=0 +test_ltc_set_enabled.ltc_set_enabled=0 + +[nvgpu-netlist] +test_netlist_init_support.netlist_init_support=0 +test_netlist_negative_tests.netlist_negative_tests=0 +test_netlist_query_tests.netlist_query_tests=0 +test_netlist_remove_support.netlist_remove_support=0 + +[nvgpu-pmu] +free_falcon_test_env.falcon_free_test_env=0 +test_is_pmu_supported.pmu_supported=0 +test_pmu_early_init.pmu_early_init=0 +test_pmu_isr.pmu_isr=0 +test_pmu_remove_support.pmu_remove_support=0 +test_pmu_reset.pmu_reset=0 + +[nvgpu-rc] +test_rc_ctxsw_timeout.rc_ctxsw_timeout=0 +test_rc_deinit.rc_deinit=0 +test_rc_fifo_recover.rc_fifo_recover=0 +test_rc_gr_fault.rc_gr_fault=0 +test_rc_init.rc_init=0 +test_rc_mmu_fault.rc_mmu_fault=0 +test_rc_pbdma_fault.rc_pbdma_fault=0 +test_rc_preempt_timeout.rc_preempt_timeout=0 +test_rc_sched_error_bad_tsg.rc_sched_error_bad_tsg=0 +test_rc_tsg_and_related_engines.rc_tsg_and_related_engines=0 +test_rc_runlist_update.rc_runlist_update=0 + +[nvgpu-sync] +test_sync_create_destroy_sync.sync_create_destroy=0 +test_sync_create_fail.sync_fail=0 +test_sync_deinit.sync_deinit=0 +test_sync_get_ro_map.sync_get_ro_map=0 +test_sync_init.sync_init=0 +test_sync_set_safe_state.sync_set_safe_state=0 +test_sync_usermanaged_syncpt_apis.sync_user_managed_apis=0 + +[nvgpu_allocator] +test_nvgpu_alloc_common_init.common_init=0 +test_nvgpu_alloc_destroy.alloc_destroy=0 +test_nvgpu_alloc_ops_present.alloc_ops=0 +test_nvgpu_allocator_init.allocator_init=0 + +[nvgpu_channel] +test_ch_referenceable_cleanup.referenceable_cleanup=0 +test_channel_abort.ch_abort=0 +test_channel_abort_cleanup.abort_cleanup=0 +test_channel_alloc_inst.alloc_inst=0 +test_channel_close.close=0 +test_channel_debug_dump.debug_dump=0 +test_channel_enable_disable_tsg.enable_disable_tsg=0 +test_channel_from_inst.from_inst=0 +test_channel_from_invalid_id.channel_from_invalid_id=0 +test_channel_mark_error.mark_error=0 +test_channel_open.open=0 +test_channel_put_warn.channel_put_warn=0 +test_channel_semaphore_wakeup.semaphore_wakeup=0 +test_channel_setup_bind.setup_bind=0 +test_channel_setup_sw.setup_sw=0 +test_channel_suspend_resume_serviceable_chs.suspend_resume=0 +test_channel_sw_quiesce.sw_quiesce=0 +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_nvgpu_channel_commit_va.channel_commit_va=0 +test_nvgpu_get_gpfifo_entry_size.get_gpfifo_entry_size=0 +test_trace_write_pushbuffers.trace_write_pushbuffers=0 + +[nvgpu_channel_gk20a] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gk20a_channel_disable.disable=0 +test_gk20a_channel_enable.enable=0 +test_gk20a_channel_read_state.read_state=0 + +[nvgpu_channel_gm20b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gm20b_channel_bind.bind=0 +test_gm20b_channel_force_ctx_reload.force_ctx_reload=0 + +[nvgpu_channel_gv11b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv11b_channel_count.count=0 +test_gv11b_channel_debug_dump.debug_dump=0 +test_gv11b_channel_read_state.read_state=0 +test_gv11b_channel_reset_faulted.reset_faulted=0 +test_gv11b_channel_unbind.unbind=0 + +[nvgpu_ctxsw_timeout_gv11b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv11b_fifo_ctxsw_timeout_enable.ctxsw_timeout_enable=0 +test_gv11b_fifo_handle_ctxsw_timeout.handle_ctxsw_timeout=0 + +[nvgpu_engine] +test_engine_enum_from_type.enum_from_type=0 +test_engine_find_busy_doing_ctxsw.find_busy_doing_ctxsw=0 +test_engine_get_active_eng_info.get_active_eng_info=0 +test_engine_get_fast_ce_runlist_id.get_fast_ce_runlist_id=0 +test_engine_get_gr_runlist_id.get_gr_runlist_id=0 +test_engine_get_mask_on_id.get_mask_on_id=0 +test_engine_get_runlist_busy_engines.get_runlist_busy_engines=0 +test_engine_ids.ids=0 +test_engine_init_info.init_info=0 +test_engine_interrupt_mask.interrupt_mask=0 +test_engine_is_valid_runlist_id.is_valid_runlist_id=0 +test_engine_mmu_fault_id.mmu_fault_id=0 +test_engine_mmu_fault_id_veid.mmu_fault_id_veid=0 +test_engine_setup_sw.setup_sw=0 +test_engine_status.status=0 +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 + +[nvgpu_engine_gm20b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gm20b_read_engine_status_info.read_engine_status_info=0 + +[nvgpu_engine_gp10b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gp10b_engine_init_ce_info.engine_init_ce_info=0 + +[nvgpu_engine_gv100] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv100_dump_engine_status.dump_engine_status_info=0 +test_gv100_read_engine_status_info.read_engine_status_info=0 + +[nvgpu_engine_gv11b] +test_gv11b_is_fault_engine_subid_gpc.is_fault_engine_subid_gpc=0 + +[nvgpu_fifo] +test_decode_pbdma_ch_eng_status.pbdma_ch_eng_status=0 +test_fifo_suspend.fifo_suspend=0 +test_fifo_sw_quiesce.fifo_sw_quiesce=0 +test_init_support.init=0 + +[nvgpu_fifo_gk20a] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gk20a_fifo_intr_1_enable.intr_1_enable=0 +test_gk20a_fifo_intr_1_isr.intr_1_isr=0 +test_gk20a_fifo_intr_handle_chsw_error.intr_handle_chsw_error=0 +test_gk20a_fifo_intr_handle_runlist_event.intr_handle_runlist_event=0 +test_gk20a_fifo_pbdma_isr.pbdma_isr=0 +test_gk20a_get_timeslices.get_timeslices=0 +test_gk20a_init_pbdma_map.init_pbdma_map=0 + +[nvgpu_fifo_gv11b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv11b_fifo_handle_sched_error.handle_sched_error=0 +test_gv11b_fifo_init_hw.init_hw=0 +test_gv11b_fifo_intr_0_enable.intr_0_enable=0 +test_gv11b_fifo_intr_0_isr.intr_0_isr=0 +test_gv11b_fifo_intr_recover_mask.intr_recover_mask=0 +test_gv11b_fifo_mmu_fault_id_to_pbdma_id.mmu_fault_id_to_pbdma_id=0 + +[nvgpu_gk20a] +test_get_poll_timeout.get_poll_timeout=0 + +[nvgpu_gr_config] +test_gr_config_count.config_check_init=0 +test_gr_config_deinit.config_deinit=0 +test_gr_config_error_injection.config_error_injection=0 +test_gr_config_init.config_init=0 +test_gr_config_set_get.config_check_set_get=0 +test_gr_init_setup.gr_init_setup=0 +test_gr_remove_setup.gr_remove_setup=0 + +[nvgpu_gr_ctx] +test_gr_ctx_error_injection.gr_ctx_alloc_errors=0 +test_gr_init_setup.gr_ctx_setup=0 +test_gr_remove_setup.gr_ctx_cleanup=0 + +[nvgpu_gr_falcon] +test_gr_falcon_deinit.gr_falcon_deinit=0 +test_gr_falcon_fail_ctxsw_ucode.gr_falcon_fail_ctxsw_ucode=0 +test_gr_falcon_gm20b_ctrl_ctxsw.gr_falcon_gm20b_ctrl_ctxsw=0 +test_gr_falcon_init.gr_falcon_init=0 +test_gr_falcon_init_ctx_state.gr_falcon_init_ctx_state=0 +test_gr_falcon_init_ctxsw.gr_falcon_init_ctxsw=0 +test_gr_falcon_query_test.gr_falcon_query_test=0 + +[nvgpu_gr_fs_state] +test_gr_fs_state_error_injection.gr_fs_state_error_injection=0 +test_gr_init_setup_cleanup.gr_fs_state_cleanup=0 +test_gr_init_setup_ready.gr_fs_state_setup=0 + +[nvgpu_gr_global_ctx] +test_gr_global_ctx_alloc_error_injection.gr_global_ctx_alloc_errors=0 +test_gr_global_ctx_local_ctx_error_injection.gr_global_ctx_local_ctx_errors=0 +test_gr_init_setup.gr_global_ctx_setup=0 +test_gr_remove_setup.gr_global_ctx_cleanup=0 + +[nvgpu_gr_init] +test_gr_init_ecc_features.gr_ecc_features=0 +test_gr_init_error_injections.gr_init_error_injections=0 +test_gr_init_hal_config_error_injection.gr_init_hal_config_error_injection=0 +test_gr_init_hal_ecc_scrub_reg.gr_init_hal_ecc_scrub_reg=0 +test_gr_init_hal_error_injection.gr_init_hal_error_injection=0 +test_gr_init_hal_fe_pwr_mode.gr_init_hal_fe_pwr_mode=0 +test_gr_init_hal_wait_empty.gr_init_hal_wait_empty=0 +test_gr_init_hal_wait_fe_idle.gr_init_hal_wait_fe_idle=0 +test_gr_init_hal_wait_idle.gr_init_hal_wait_idle=0 +test_gr_init_prepare.gr_init_prepare=0 +test_gr_init_setup.gr_init_setup=0 +test_gr_init_support.gr_init_support=0 +test_gr_remove_setup.gr_remove_setup=0 +test_gr_remove_support.gr_remove_support=0 +test_gr_suspend.gr_suspend=0 + +[nvgpu_gr_intr] +test_gr_init_setup_cleanup.gr_intr_cleanup=0 +test_gr_init_setup_ready.gr_intr_setup=0 +test_gr_intr_fecs_exceptions.gr_intr_fecs_exceptions=0 +test_gr_intr_gpc_exceptions.gr_intr_gpc_exceptions=0 +test_gr_intr_setup_channel.gr_intr_with_channel=0 +test_gr_intr_sw_exceptions.gr_intr_sw_method=0 +test_gr_intr_without_channel.gr_intr_channel_free=0 + +[nvgpu_gr_obj_ctx] +test_gr_init_setup_cleanup.gr_obj_ctx_cleanup=0 +test_gr_init_setup_ready.gr_obj_ctx_setup=0 +test_gr_obj_ctx_error_injection.gr_obj_ctx_alloc_errors=0 + +[nvgpu_gr_setup] +test_gr_init_setup_cleanup.gr_setup_cleanup=0 +test_gr_init_setup_ready.gr_setup_setup=0 +test_gr_setup_alloc_obj_ctx.gr_setup_alloc_obj_ctx=0 +test_gr_setup_alloc_obj_ctx_error_injections.gr_setup_alloc_obj_ctx_error_injections=0 +test_gr_setup_free_obj_ctx.gr_setup_free_obj_ctx=0 +test_gr_setup_preemption_mode_errors.gr_setup_preemption_mode_errors=0 +test_gr_setup_set_preemption_mode.gr_setup_set_preemption_mode=0 + +[nvgpu_mem] +test_free_nvgpu_mem.test_free_nvgpu_mem=0 +test_nvgpu_aperture_mask.nvgpu_aperture_mask=0 +test_nvgpu_aperture_str.nvgpu_aperture_name=0 +test_nvgpu_mem_create_from_mem.create_mem_from_mem=0 +test_nvgpu_mem_create_from_phys.mem_create_from_phys=0 +test_nvgpu_mem_iommu_translate.mem_iommu_translate=0 +test_nvgpu_mem_phys_ops.nvgpu_mem_phys_ops=0 +test_nvgpu_mem_wr_rd.nvgpu_mem_wr_rd=0 +test_nvgpu_memset_sysmem.nvgpu_memset_sysmem=0 + +[nvgpu_pbdma] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_pbdma_find_for_runlist.pbdma_find_for_runlist=0 +test_pbdma_setup_sw.setup_sw=0 +test_pbdma_status.pbdma_status=0 + +[nvgpu_pbdma_gm20b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gm20b_pbdma_acquire_val.pbdma_acquire_val=0 +test_gm20b_pbdma_format_gpfifo_entry.pbdma_format_gpfifo_entry=0 +test_gm20b_pbdma_get_ctrl_hce_priv_mode_yes.pbdma_get_ctrl_hce_priv_mode_yes=0 +test_gm20b_pbdma_get_fc_subdevice.pbdma_get_fc_subdevice=0 +test_gm20b_pbdma_get_gp_base.pbdma_get_gp_base=0 +test_gm20b_pbdma_get_userd.pbdma_get_userd=0 +test_gm20b_pbdma_handle_intr.pbdma_handle_intr=0 +test_gm20b_pbdma_handle_intr_0.pbdma_handle_intr_0=0 +test_gm20b_pbdma_intr_descs.pbdma_intr_descs=0 +test_gm20b_pbdma_read_data.pbdma_read_data=0 +test_gm20b_read_pbdma_status_info.read_pbdma_status_info=0 + +[nvgpu_pbdma_gp10b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gp10b_pbdma_get_config_auth_level_privileged.get_config_auth_level_privileged=0 +test_gp10b_pbdma_get_fc_runlist_timeslice.get_fc_runlist_timeslice=0 +test_gp10b_pbdma_get_signature.get_signature=0 + +[nvgpu_pbdma_gv11b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv11b_pbdma_config_userd_writeback_enable.config_userd_writeback_enable=0 +test_gv11b_pbdma_get_fc.get_fc=0 +test_gv11b_pbdma_handle_intr_0.handle_intr_0=0 +test_gv11b_pbdma_handle_intr_1.handle_intr_1=0 +test_gv11b_pbdma_intr_descs.intr_descs=0 +test_gv11b_pbdma_intr_enable.intr_enable=0 +test_gv11b_pbdma_set_channel_info_veid.set_channel_info_veid=0 +test_gv11b_pbdma_setup_hw.setup_hw=0 + +[nvgpu_preempt] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_preempt.preempt=0 +test_preempt_get_timeout.get_timeout=0 +test_preempt_poll_tsg_on_pbdma.preempt_poll=0 + +[nvgpu_preempt_gv11b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv11b_fifo_is_preempt_pending.is_preempt_pending=0 +test_gv11b_fifo_preempt_channel.preempt_channel=0 +test_gv11b_fifo_preempt_poll_pbdma.preempt_poll_pbdma=0 +test_gv11b_fifo_preempt_runlists_for_rc.preempt_runlists_for_rc=0 +test_gv11b_fifo_preempt_trigger.preempt_trigger=0 +test_gv11b_fifo_preempt_tsg.preempt_tsg=0 + +[nvgpu_ramfc_gp10b] +test_gp10b_ramfc_commit_userd.commit_userd=0 + +[nvgpu_ramfc_gv11b] +test_gv11b_ramfc_capture_ram_dump.capture_ram_dump=0 +test_gv11b_ramfc_setup.ramfc_setup=0 + +[nvgpu_runlist] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_flat_gen.flat=0 +test_interleave_dual.interleave_dual=0 +test_interleave_single.interleave_single=0 +test_interleaving_levels.interleave_level=0 +test_runlist_get_mask.get_mask=0 +test_runlist_interleave_level_name.interleave_level_name=0 +test_runlist_lock_unlock_active_runlists.lock_unlock_active_runlists=0 +test_runlist_reload_ids.reload_ids=0 +test_runlist_set_state.set_state=0 +test_runlist_setup_sw.setup_sw=0 +test_runlist_update_for_channel.update_for_channel=0 +test_runlist_update_locked.runlist_update=0 +test_tsg_format_gen.tsg_format_flat=0 + +[nvgpu_runlist_gk20a] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gk20a_runlist_hw_submit.hw_submit=0 +test_gk20a_runlist_length_max.length_max=0 +test_gk20a_runlist_wait_pending.wait_pending=0 +test_gk20a_runlist_write_state.write_state=0 + +[nvgpu_runlist_gv11b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv11b_runlist_count_max.runlist_count_max=0 +test_gv11b_runlist_entry_size.entry_size=0 +test_gv11b_runlist_get_ch_entry.get_ch_entry=0 +test_gv11b_runlist_get_tsg_entry.get_tsg_entry=0 + +[nvgpu_sgt] +test_nvgpu_sgt_alignment_non_iommu.sgt_alignment_non_iommu=0 +test_nvgpu_sgt_alignment_with_iommu.sgt_alignment_with_iommu=0 +test_nvgpu_sgt_basic_apis.sgt_basic_apis=0 +test_nvgpu_sgt_get_next.sgt_get_next=0 + +[nvgpu_tsg] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_tsg_abort.abort=0 +test_tsg_bind_channel.bind_channel=0 +test_tsg_check_and_get_from_id.get_from_id=0 +test_tsg_enable.enable_disable=0 +test_tsg_enable_sched.enable_disable_sched=0 +test_tsg_mark_error.mark_error=0 +test_tsg_open.open=0 +test_tsg_release.release=0 +test_tsg_reset_faulted_eng_pbdma.reset_faulted_eng_pbdma=0 +test_tsg_set_ctx_mmu_error.set_ctx_mmu_error=0 +test_tsg_setup_sw.setup_sw=0 +test_tsg_unbind_channel.unbind_channel=0 +test_tsg_unbind_channel_check_ctx_reload.unbind_channel_check_ctx_reload=0 +test_tsg_unbind_channel_check_hw_state.unbind_channel_check_hw_state=0 + +[nvgpu_tsg_gv11b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv11b_tsg_bind_channel_eng_method_buffers.gv11b_tsg_bind_channel_eng_method_buffers=0 +test_gv11b_tsg_enable.gv11b_tsg_enable=0 +test_gv11b_tsg_init_eng_method_buffers.gv11b_tsg_init_eng_method_buffers=0 +test_gv11b_tsg_unbind_channel_check_eng_faulted.gv11b_tsg_unbind_channel_check_eng_faulted=0 + +[nvgpu_userd_gk20a] +test_gk20a_userd_entry_size.entry_size=0 + +[nvgpu_usermode_gv11b] +test_fifo_init_support.init_support=0 +test_fifo_remove_support.remove_support=0 +test_gv11b_usermode.usermode=0 + +[page_table] +test_nvgpu_gmmu_clean.gmmu_clean=0 +test_nvgpu_gmmu_init.gmmu_init=0 +test_nvgpu_gmmu_init_page_table_fail.init_page_table_fail=0 +test_nvgpu_gmmu_map_unmap.gmmu_map_unmap_iommu_sysmem=0 +test_nvgpu_gmmu_map_unmap.gmmu_map_unmap_iommu_sysmem_coh=0 +test_nvgpu_gmmu_map_unmap.gmmu_map_unmap_iommu_sysmem_ro=0 +test_nvgpu_gmmu_map_unmap.gmmu_map_unmap_iommu_sysmem_ro_f=0 +test_nvgpu_gmmu_map_unmap.gmmu_map_unmap_no_iommu_sysmem=0 +test_nvgpu_gmmu_map_unmap.gmmu_map_unmap_no_iommu_sysmem_noncacheable=0 +test_nvgpu_gmmu_map_unmap.gmmu_map_unmap_sgt_iommu_sysmem=0 +test_nvgpu_gmmu_map_unmap.gmmu_map_unmap_unmapped=0 +test_nvgpu_gmmu_map_unmap_adv.gmmu_map_unmap_iommu_sysmem_adv_big_pages=0 +test_nvgpu_gmmu_map_unmap_adv.gmmu_map_unmap_iommu_sysmem_adv_big_pages_offset=0 +test_nvgpu_gmmu_map_unmap_adv.gmmu_map_unmap_iommu_sysmem_adv_ctag=0 +test_nvgpu_gmmu_map_unmap_adv.gmmu_map_unmap_iommu_sysmem_adv_kernel_pages=0 +test_nvgpu_gmmu_map_unmap_adv.gmmu_map_unmap_iommu_sysmem_adv_sgl_skip=0 +test_nvgpu_gmmu_map_unmap_adv.gmmu_map_unmap_iommu_sysmem_adv_small_pages_sparse=0 +test_nvgpu_gmmu_map_unmap_adv.gmmu_map_unmap_no_iommu_sysmem_adv_big_pages_offset_large=0 +test_nvgpu_gmmu_map_unmap_adv.gmmu_map_unmap_tlb_invalidate_fail=0 +test_nvgpu_gmmu_map_unmap_batched.gmmu_map_unmap_iommu_sysmem_adv_big_pages_batched=0 +test_nvgpu_gmmu_map_unmap_map_fail.map_fail_fi_null_sgt=0 +test_nvgpu_gmmu_map_unmap_map_fail.map_fail_fi_vm_alloc=0 +test_nvgpu_gmmu_map_unmap_map_fail.map_fail_pd_allocate=0 +test_nvgpu_gmmu_map_unmap_map_fail.map_fail_pd_allocate_child=0 +test_nvgpu_gmmu_map_unmap_map_fail.map_fail_tlb_invalidate=0 +test_nvgpu_gmmu_set_pte.gmmu_set_pte=0 +test_nvgpu_page_table_c1_full.req_multiple_alignments=0 +test_nvgpu_page_table_c2_full.req_fixed_address=0 +test_nvgpu_gmmu_perm_str.gmmu_perm_str=0 + +[page_table_faults] +test_page_faults_clean.clean=0 +test_page_faults_disable_hw.disable_hw=0 +test_page_faults_init.init=0 +test_page_faults_inst_block.inst_block_s0=0 +test_page_faults_inst_block.inst_block_s1=0 +test_page_faults_inst_block.inst_block_s2=0 +test_page_faults_pending.pending=0 + +[pd_cache] +test_gpu_address.gpu_address=0 +test_init_deinit.deinit=0 +test_init_deinit.init_deinit=0 +test_init_deinit.multi_init=0 +test_offset_computation.offset_comp=0 +test_pd_alloc_direct_fi.alloc_direct_oom=0 +test_pd_alloc_fi.alloc_oom=0 +test_pd_alloc_invalid_input.invalid_pd_alloc=0 +test_pd_cache_alloc_gen.alloc_1024x256B_x11x3=0 +test_pd_cache_alloc_gen.alloc_1024x256B_x16x15=0 +test_pd_cache_alloc_gen.alloc_1024x256B_x16x1=0 +test_pd_cache_alloc_gen.alloc_1024x256B_x32x1=0 +test_pd_cache_alloc_gen.alloc_1x1024B=0 +test_pd_cache_alloc_gen.alloc_1x2048B=0 +test_pd_cache_alloc_gen.alloc_1x256B=0 +test_pd_cache_alloc_gen.alloc_1x512B=0 +test_pd_cache_alloc_gen.alloc_direct_1024x16PAGE=0 +test_pd_cache_alloc_gen.alloc_direct_1024xPAGE=0 +test_pd_cache_alloc_gen.alloc_direct_1024xPAGE_x16x15=0 +test_pd_cache_alloc_gen.alloc_direct_1024xPAGE_x16x1=0 +test_pd_cache_alloc_gen.alloc_direct_1024xPAGE_x16x4=0 +test_pd_cache_alloc_gen.alloc_direct_1024xPAGE_x32x24=0 +test_pd_cache_alloc_gen.alloc_direct_1x16PAGE=0 +test_pd_cache_alloc_gen.alloc_direct_1xPAGE=0 +test_pd_cache_env_init.env_init=0 +test_pd_cache_fini.fini=0 +test_pd_cache_init.init=0 +test_pd_cache_valid_alloc.valid_alloc=0 +test_pd_free_empty_pd.free_empty=0 +test_pd_write.write=0 +test_per_pd_size.pd_packing=0 +test_per_pd_size.pd_reusability=0 + +[posix_bitops] +test_bit_setclear.bit_clear=0 +test_bit_setclear.bit_set=0 +test_bitmap_info.info=0 +test_bitmap_setclear.bitmap_clear=0 +test_bitmap_setclear.bitmap_set=0 +test_ffs.ffs=0 +test_ffz.ffz=0 +test_find_first_bit.find_first_bit=0 +test_find_first_bit.find_first_zero_bit=0 +test_find_next_bit.find_next_bit=0 +test_find_zero_area.find_zero_area=0 +test_fls.fls=0 +test_single_bitops.single_bitops=0 +test_test_and_setclear_bit.test_and_clear_bit=0 +test_test_and_setclear_bit.test_and_set_bit=0 +test_bitops_misc.bitops_misc=0 + +[posix_bug] +test_bug_cb.bug_cb=0 +test_expect_bug.expect_bug=0 +test_warn_msg.warn_msg=0 + +[posix_circbuf] +test_circbufcnt.circbufcnt=0 +test_circbufspace.circbufspace=0 + +[posix_cond] +test_cond_init_destroy.init=0 +test_cond_signal.timedwait_signal=0 +test_cond_signal.wait_broadcast=0 +test_cond_signal.wait_broadcast_int=0 +test_cond_signal.wait_broadcast_locked=0 +test_cond_signal.wait_condition=0 +test_cond_signal.wait_condition_int=0 +test_cond_signal.wait_condition_locked=0 +test_cond_signal.wait_signal=0 +test_cond_signal.wait_signal_int=0 +test_cond_signal.wait_signal_locked=0 +test_cond_bug.bug_cond=0 +test_cond_timeout.wait_timeout=0 + +[posix_env] +sanity_test_endianness.endianness=0 +sanity_test_ptr_in_u64.ptr_in_u64=0 +sanity_test_signage.signage=0 +sanity_test_sizes.sizes=0 +sanity_test_type_max.type_max=0 + +[posix_kmem] +test_kmem_big_alloc.big_alloc=0 +test_kmem_cache_alloc.cache_alloc=0 +test_kmem_cache_create.cache_create=0 +test_kmem_kcalloc.kcalloc_test=0 +test_kmem_kmalloc.kmalloc_test=0 +test_kmem_kzalloc.kzalloc_test=0 +test_kmem_virtual_alloc.virtual_alloc=0 + +[posix_log2] +test_ilog2.integer_log2=0 +test_ispow2.is_powof2=0 +test_rounddown_powoftwo.rounddown_pow2=0 +test_roundup_powoftwo.roundup_pow2=0 + +[posix_mockio] +test_readl.bar1_readl=0 +test_readl.readl=0 +test_readl.readl_impl=0 +test_register_io_callbacks.register_io_callbacks=0 +test_register_space.test_register_space=0 +test_writel.bar1_writel=0 +test_writel.usermode_writel=0 +test_writel.writel=0 +test_writel.writel_check=0 + +[posix_ossched] +test_current_pid.current_pid=0 +test_current_tid.current_tid=0 +test_print_current.print_current=0 + +[posix_queue] +test_nvgpu_queue_alloc_and_free.nvgpu_queue_alloc_free=0 +test_nvgpu_queue_in.nvgpu_queue_in=0 +test_nvgpu_queue_out.nvgpu_queue_out=0 + +[posix_rwsem] +test_rwsem_init.init=0 +test_rwsem_read.read=0 +test_rwsem_write.write=0 +test_rwsem_write_read.write_read=0 + +[posix_sizes] +test_size_defines.size_defines=0 + +[posix_thread] +test_thread_cycle.create=0 +test_thread_cycle.create_priority=0 +test_thread_cycle.cycle=0 +test_thread_cycle.stop_graceful=0 +test_thread_cycle.create_noname=0 +test_thread_cycle.create_noname_errret=0 +test_thread_cycle.create_priority_noname=0 +test_thread_cycle.stop_repeat=0 +test_thread_cycle.stop_graceful_repeat=0 +test_thread_cycle.stop_graceful_skipcb=0 + +[posix_timers] +test_timer_compare.compare=0 +test_timer_counter.counter=0 +test_timer_delay.delay=0 +test_timer_duration.duration=0 +test_timer_init.init=0 +test_timer_init_err.init_err=0 +test_timer_msleep.msleep=0 +test_timer_fault_injection.fault_injection=0 + +[posix_utils] +test_hamming_weight.hweight_test=0 +test_be32tocpu.be32tocpu_test=0 +test_minmax.minmax_test=0 +test_arraysize.arraysize_test=0 +test_typecheck.typecheck_test=0 +test_align_macros.alignmacros_test=0 +test_round_macros.roundmacros_test=0 +test_write_once.writeonce_test=0 +test_div_macros.divmacros_test=0 +test_containerof.containerof_test=0 +test_hertzconversion.conversion_test=0 + + +[priv_ring] +test_decode_error_code.priv_ring_decode_error_code=0 +test_enable_priv_ring.priv_ring_enable_priv_ring=0 +test_enum_ltc.priv_ring_enum_ltc=0 +test_get_fbp_count.priv_ring_get_fbp_count=0 +test_get_gpc_count.priv_ring_get_gpc_count=0 +test_priv_ring_free_reg_space.priv_ring_free_reg_space=0 +test_priv_ring_isr.priv_ring_isr=0 +test_priv_ring_setup.priv_ring_setup=0 +test_set_ppriv_timeout_settings.priv_ring_set_ppriv_timeout_settings=0 + +[ptimer] +test_free_env.ptimer_free_env=0 +test_ptimer_isr.ptimer_isr=0 +test_ptimer_scaling.ptimer_scaling=0 +test_read_ptimer.ptimer_read_ptimer=0 +test_setup_env.ptimer_setup_env=0 + +[ramin_gk20a_fusa] +test_gk20a_ramin_alloc_size.alloc_size=0 +test_gk20a_ramin_base_shift.base_shift=0 + +[ramin_gm20b_fusa] +test_gm20b_ramin_set_big_page_size.set_big_page_size=0 + +[ramin_gp10b_fusa] +test_gp10b_ramin_init_pdb.init_pdb=0 + +[ramin_gv11b_fusa] +test_gv11b_ramin_init_subctx_pdb.init_subctx_pdb=0 +test_gv11b_ramin_set_eng_method_buffer.set_eng_method_buf=0 +test_gv11b_ramin_set_gr_ptr.set_gr_ptr=0 + +[static_analysis] +test_arithmetic.arithmetic=0 +test_cast.cast=0 +test_safety_checks.safety_checks=0 + +[string] +test_mem_is_word_aligned.mem_is_word_aligned=0 +test_memcpy_memcmp.memcpy_memcmp=0 +test_strnadd_u32.strnadd_u32=0 + +[therm] +test_free_env.therm_free_env=0 +test_setup_env.therm_setup_env=0 +test_therm_init_support.therm_init_support=0 +test_therm_init_elcg_mode.gv11b_therm_init_elcg_mode=0 +test_elcg_init_idle_filters.gv11b_elcg_init_idle_filters=0 + +[top] +test_device_info_parse_data.top_device_info_parse_data=0 +test_device_info_parse_enum.top_device_info_parse_enum=0 +test_get_device_info.top_get_device_info=0 +test_get_max_fbps_count.top_get_max_fbps_count=0 +test_get_max_gpc_count.top_get_max_gpc_count=0 +test_get_max_ltc_per_fbp.top_get_max_ltc_per_fbp=0 +test_get_max_lts_per_ltc.top_get_max_lts_per_ltc=0 +test_get_max_tpc_per_gpc_count.top_get_max_tpc_per_gpc_count=0 +test_get_num_engine_type_entries.top_get_num_engine_type_entries=0 +test_get_num_lce.top_get_num_lce=0 +test_get_num_ltcs.top_get_num_ltcs=0 +test_is_engine_ce.top_is_engine_ce=0 +test_is_engine_gr.top_is_engine_gr=0 +test_top_free_reg_space.top_free_reg_space=0 +test_top_setup.top_setup=0 + +[vm] +test_batch.batch=0 +test_init_error_paths.init_error_paths=0 +test_map_buf.map_buf=0 +test_map_buf_gpu_va.map_buf_gpu_va=0 +test_map_buffer_error_cases.map_buffer_error_cases=0 +test_nvgpu_vm_alloc_va.nvgpu_vm_alloc_va=0 +test_vm_area_error_cases.vm_area_error_cases=0 +test_vm_aspace_id.vm_aspace_id=0 +test_vm_bind.vm_bind=0 +test_gk20a_from_vm.gk20a_from_vm=0 +test_vm_pde_coverage_bit_count.vm_pde_coverage_bit_count=0 +test_nvgpu_insert_mapped_buf.nvgpu_insert_mapped_buf=0 + +[worker] +test_branches.branches=0 +test_deinit.deinit=0 +test_enqueue.enqueue=0 +test_init.init=0 + diff --git a/userspace/required_tests.json b/userspace/required_tests.json deleted file mode 100644 index 7ded3d6f2..000000000 --- a/userspace/required_tests.json +++ /dev/null @@ -1,4967 +0,0 @@ -[ - { - "test": "test_atomic_arithmetic", - "case": "atomic_add_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_add_32_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_add_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_add_64_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_add_unless", - "case": "atomic_add_unless_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_add_unless_32_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_add_unless", - "case": "atomic_add_unless_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_add_unless_64_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_cmpxchg", - "case": "atomic_cmpxchg_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_cmpxchg_32_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_cmpxchg", - "case": "atomic_cmpxchg_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_cmpxchg_64_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_cmpxchg_not_atomic_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_dec_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_dec_32_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_dec_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_dec_64_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_dec_and_test_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_dec_and_test_32_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_dec_and_test_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_dec_and_test_64_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_dec_and_test_not_atomic_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_inc_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_inc_32_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_inc_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_inc_64_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_inc_and_test_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_inc_and_test_32_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_inc_and_test_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_inc_and_test_64_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_inc_and_test_not_atomic_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_set_and_read", - "case": "atomic_set_and_read_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_set_and_read", - "case": "atomic_set_and_read_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_sub_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_sub_32_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_sub_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_threaded", - "case": "atomic_sub_64_threaded", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_sub_and_test_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_sub_and_test_32_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_arithmetic", - "case": "atomic_sub_and_test_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_sub_and_test_64_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_arithmetic_and_test_threaded", - "case": "atomic_sub_and_test_not_atomic_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_xchg", - "case": "atomic_xchg_32", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_xchg_threaded", - "case": "atomic_xchg_32_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_xchg", - "case": "atomic_xchg_64", - "unit": "atomic", - "test_level": 0 - }, - { - "test": "test_atomic_xchg_threaded", - "case": "atomic_xchg_64_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_atomic_xchg_threaded", - "case": "atomic_xchg_not_atomic_threaded", - "unit": "atomic", - "test_level": 1 - }, - { - "test": "test_nvgpu_bitmap_allocator_alloc", - "case": "alloc", - "unit": "bitmap_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_bitmap_allocator_critical", - "case": "critical", - "unit": "bitmap_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_bitmap_allocator_destroy", - "case": "free", - "unit": "bitmap_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_bitmap_allocator_init", - "case": "init", - "unit": "bitmap_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_bitmap_allocator_ops", - "case": "ops", - "unit": "bitmap_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_buddy_allocator_alloc", - "case": "alloc", - "unit": "buddy_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_buddy_allocator_basic_ops", - "case": "basic_ops", - "unit": "buddy_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_buddy_allocator_carveout", - "case": "carveout", - "unit": "buddy_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_buddy_allocator_destroy", - "case": "destroy", - "unit": "buddy_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_buddy_allocator_init", - "case": "init", - "unit": "buddy_allocator", - "test_level": 0 - }, - { - "test": "test_buddy_allocator_with_big_pages", - "case": "ops_big_pages", - "unit": "buddy_allocator", - "test_level": 0 - }, - { - "test": "test_buddy_allocator_with_small_pages", - "case": "ops_small_pages", - "unit": "buddy_allocator", - "test_level": 0 - }, - { - "test": "test_bus_setup", - "case": "bus_setup", - "unit": "bus", - "test_level": 0 - }, - { - "test": "test_init_hw", - "case": "bus_init_hw", - "unit": "bus", - "test_level": 0 - }, - { - "test": "test_bar_bind", - "case": "bus_bar_bind", - "unit": "bus", - "test_level": 0 - }, - { - "test": "test_bus_isr", - "case": "bus_isr", - "unit": "bus", - "test_level": 0 - }, - { - "test": "test_bus_free_reg_space", - "case": "bus_free_reg_space", - "unit": "bus", - "test_level": 0 - }, - { - "test": "test_free_env", - "case": "ce_free_env", - "unit": "ce", - "test_level": 0 - }, - { - "test": "test_get_num_pce", - "case": "ce_get_num_pce", - "unit": "ce", - "test_level": 0 - }, - { - "test": "test_init_prod_values", - "case": "ce_init_prod_values", - "unit": "ce", - "test_level": 0 - }, - { - "test": "test_ce_init_support", - "case": "ce_init_support", - "unit": "ce", - "test_level": 0 - }, - { - "test": "test_ce_nonstall_isr", - "case": "ce_nonstall_isr", - "unit": "ce", - "test_level": 0 - }, - { - "test": "test_setup_env", - "case": "ce_setup_env", - "unit": "ce", - "test_level": 0 - }, - { - "test": "test_ce_stall_isr", - "case": "ce_stall_isr", - "unit": "ce", - "test_level": 0 - }, - { - "test": "test_mthd_buffer_fault_in_bar2_fault", - "case": "mthd_buffer_fault_in_bar2_fault", - "unit": "ce", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "blcg_ce", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "blcg_fb_ltc", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "blcg_fifo", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "blcg_gr", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "blcg_gr_load_gating_prod", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "blcg_pmu", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_elcg", - "case": "elcg", - "unit": "cg", - "test_level": 0 - }, - { - "test": "init_test_env", - "case": "init", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "slcg_ce2", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "slcg_fb_ltc", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "slcg_fifo", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "slcg_gr_load_gating_prod", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "slcg_pmu", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "slcg_priring", - "unit": "cg", - "test_level": 0 - }, - { - "test": "test_cg", - "case": "slcg_therm", - "unit": "cg", - "test_level": 0 - }, - { - "test": "class_validate_setup", - "case": "class_validate", - "unit": "class", - "test_level": 0 - }, - { - "test": "test_nvgpu_enabled_flags_false_check", - "case": "enabled_flags_false_check", - "unit": "enabled", - "test_level": 0 - }, - { - "test": "test_nvgpu_free_enabled_flags", - "case": "free", - "unit": "enabled", - "test_level": 0 - }, - { - "test": "test_nvgpu_init_enabled_flags", - "case": "init", - "unit": "enabled", - "test_level": 0 - }, - { - "test": "test_nvgpu_set_enabled", - "case": "set_enabled", - "unit": "enabled", - "test_level": 0 - }, - { - "test": "test_falcon_bootstrap", - "case": "falcon_bootstrap", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "free_falcon_test_env", - "case": "falcon_free_test_env", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_get_id", - "case": "falcon_get_id", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_halt", - "case": "falcon_halt", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_idle", - "case": "falcon_idle", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_irq", - "case": "falcon_irq", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mailbox", - "case": "falcon_mailbox", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mem_rw_aligned", - "case": "falcon_mem_rw_aligned", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mem_rw_fault", - "case": "falcon_mem_rw_fault", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mem_rw_init", - "case": "falcon_mem_rw_init", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mem_rw_inval_port", - "case": "falcon_mem_rw_inval_port", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mem_rw_range", - "case": "falcon_mem_rw_range", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mem_rw_unaligned_cpu_buffer", - "case": "falcon_mem_rw_unaligned_cpu_buffer", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mem_rw_zero", - "case": "falcon_mem_rw_zero", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_mem_scrub", - "case": "falcon_mem_scrub", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_reset", - "case": "falcon_reset", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_falcon_sw_init_free", - "case": "falcon_sw_init_free", - "unit": "falcon", - "test_level": 0 - }, - { - "test": "test_kmem_cache_fi_default", - "case": "cache_default", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_kmem_cache_fi_delayed_disable", - "case": "cache_delayed_disable", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_kmem_cache_fi_delayed_enable", - "case": "cache_delayed_enable", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_kmem_cache_fi_enabled", - "case": "cache_enabled", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_dma_alloc_fi_default", - "case": "dma_alloc_default", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_dma_alloc_fi_delayed_enable", - "case": "dma_alloc_delayed_enable", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_dma_alloc_fi_enabled", - "case": "dma_alloc_enabled", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_dma_alloc_init", - "case": "dma_alloc_init", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_fault_injection_init", - "case": "fault_injection_init", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_kmem_init", - "case": "init", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_kmem_kmalloc_fi_default", - "case": "kmalloc_default", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_kmem_kmalloc_fi_delayed_disable", - "case": "kmalloc_delayed_disable", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_kmem_kmalloc_fi_delayed_enable", - "case": "kmalloc_delayed_enable", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_kmem_kmalloc_fi_enabled", - "case": "kmalloc_enabled", - "unit": "fault_injection", - "test_level": 0 - }, - { - "test": "test_fbp_free_reg_space", - "case": "fbp_free_reg_space", - "unit": "fbp", - "test_level": 0 - }, - { - "test": "test_fbp_init_and_query", - "case": "fbp_init_and_query", - "unit": "fbp", - "test_level": 0 - }, - { - "test": "test_fbp_remove_support", - "case": "fbp_remove_support", - "unit": "fbp", - "test_level": 0 - }, - { - "test": "test_fbp_setup", - "case": "fbp_setup", - "unit": "fbp", - "test_level": 0 - }, - { - "test": "test_env_clean_flush_gk20a_fusa", - "case": "env_clean", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_env_init_flush_gk20a_fusa", - "case": "env_init", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_fb_flush", - "case": "mm_fb_flush_s0", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_fb_flush", - "case": "mm_fb_flush_s1", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_fb_flush", - "case": "mm_fb_flush_s2", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_fb_flush", - "case": "mm_fb_flush_s3", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_fb_flush", - "case": "mm_fb_flush_s4", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_fb_flush", - "case": "mm_fb_flush_s5", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_fb_flush", - "case": "mm_fb_flush_s6", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_flush", - "case": "mm_l2_flush_s0", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_flush", - "case": "mm_l2_flush_s1", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_flush", - "case": "mm_l2_flush_s2", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_flush", - "case": "mm_l2_flush_s3", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_flush", - "case": "mm_l2_flush_s4", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_flush", - "case": "mm_l2_flush_s5", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_invalidate", - "case": "mm_l2_invalidate_s0", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_invalidate", - "case": "mm_l2_invalidate_s1", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_invalidate", - "case": "mm_l2_invalidate_s2", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_invalidate", - "case": "mm_l2_invalidate_s3", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_mm_l2_invalidate", - "case": "mm_l2_invalidate_s4", - "unit": "flush_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_env_clean_flush_gv11b_fusa", - "case": "env_clean", - "unit": "flush_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_env_init_flush_gv11b_fusa", - "case": "env_init", - "unit": "flush_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_l2_flush", - "case": "mm_l2_flush_s0", - "unit": "flush_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_l2_flush", - "case": "mm_l2_flush_s1", - "unit": "flush_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_l2_flush", - "case": "mm_l2_flush_s2", - "unit": "flush_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_l2_flush", - "case": "mm_l2_flush_s3", - "unit": "flush_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_l2_flush", - "case": "mm_l2_flush_s4", - "unit": "flush_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_l2_flush", - "case": "mm_l2_flush_s5", - "unit": "flush_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_fuse_gm20b_basic_fuses", - "case": "fuse_gm20b_basic_fuses", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_device_common_cleanup", - "case": "fuse_gm20b_cleanup", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_device_common_init", - "case": "fuse_gm20b_init", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_gp10b_check_gcplex_fail", - "case": "fuse_gp10b_check_gcplex_fail", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_gp10b_check_non_sec", - "case": "fuse_gp10b_check_non_sec", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_gp10b_check_sec", - "case": "fuse_gp10b_check_sec", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_gp10b_check_sec_invalid_gcplex", - "case": "fuse_gp10b_check_sec_invalid_gcplex", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_device_common_cleanup", - "case": "fuse_gp10b_cleanup", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_gp10b_ecc", - "case": "fuse_gp10b_ecc", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_gp10b_feature_override_disable", - "case": "fuse_gp10b_feature_override_disable", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_fuse_device_common_init", - "case": "fuse_gp10b_init", - "unit": "fuse", - "test_level": 0 - }, - { - "test": "test_gk20a_get_pde_pgsz", - "case": "pde_pgsz", - "unit": "gmmu_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_get_pte_pgsz", - "case": "pte_pgsz", - "unit": "gmmu_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gm20b_mm_get_big_page_sizes", - "case": "get_big_pgsz", - "unit": "gmmu_gm20b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_mm_get_default_big_page_size", - "case": "big_pgsz", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_get_pde0_pgsz", - "case": "gp10b_get_pde0_pgsz_s0", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_get_pde0_pgsz", - "case": "gp10b_get_pde0_pgsz_s1", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_get_pde0_pgsz", - "case": "gp10b_get_pde0_pgsz_s2", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_get_pde0_pgsz", - "case": "gp10b_get_pde0_pgsz_s3", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_get_pde0_pgsz", - "case": "gp10b_get_pde0_pgsz_s4", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_get_pde0_pgsz", - "case": "gp10b_get_pde0_pgsz_s5", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_mm_get_iommu_bit", - "case": "iommu_bit", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_get_max_page_table_levels", - "case": "max_page_table_levels", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_mm_get_mmu_levels", - "case": "mmu_levels", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pde0_locked", - "case": "update_gmmu_pde0_locked_s0", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pde0_locked", - "case": "update_gmmu_pde0_locked_s1", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pde3_locked", - "case": "update_gmmu_pde3_locked", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pte_locked", - "case": "update_gmmu_pte_locked_s0", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pte_locked", - "case": "update_gmmu_pte_locked_s1", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pte_locked", - "case": "update_gmmu_pte_locked_s2", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pte_locked", - "case": "update_gmmu_pte_locked_s3", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pte_locked", - "case": "update_gmmu_pte_locked_s4", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pte_locked", - "case": "update_gmmu_pte_locked_s5", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pte_locked", - "case": "update_gmmu_pte_locked_s6", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_update_gmmu_pte_locked", - "case": "update_gmmu_pte_locked_s7", - "unit": "gmmu_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_gpu_phys_addr", - "case": "gpu_phys_addr_s0", - "unit": "gmmu_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_gpu_phys_addr", - "case": "gpu_phys_addr_s1", - "unit": "gmmu_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_gpu_phys_addr", - "case": "gpu_phys_addr_s2", - "unit": "gmmu_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_get_litter_value", - "case": "get_litter_value", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_can_busy", - "case": "init_can_busy", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_check_gpu_state", - "case": "init_check_gpu_state", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_free_env", - "case": "init_free_env", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_get_put", - "case": "init_get_put", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_hal_init", - "case": "init_hal_init", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_poweroff", - "case": "init_poweroff", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_poweron", - "case": "init_poweron", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_poweron_branches", - "case": "init_poweron_branches", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_quiesce", - "case": "init_quiesce", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_setup_env", - "case": "init_setup_env", - "unit": "init", - "test_level": 0 - }, - { - "test": "test_bsearch", - "case": "test_bsearch", - "unit": "interface_bsearch", - "test_level": 0 - }, - { - "test": "test_kref_init", - "case": "kref_init", - "unit": "interface_kref", - "test_level": 0 - }, - { - "test": "test_kref_get", - "case": "kref_get", - "unit": "interface_kref", - "test_level": 0 - }, - { - "test": "test_kref_get_unless", - "case": "kref_get_unless", - "unit": "interface_kref", - "test_level": 0 - }, - { - "test": "test_kref_put", - "case": "kref_put", - "unit": "interface_kref", - "test_level": 0 - }, - { - "test": "test_kref_put_return", - "case": "kref_put_return", - "unit": "interface_kref", - "test_level": 0 - }, - { - "test": "test_lock_acquire_release", - "case": "mutex_acquire_release", - "unit": "interface_lock", - "test_level": 0 - }, - { - "test": "test_mutex_init", - "case": "mutex_init", - "unit": "interface_lock", - "test_level": 0 - }, - { - "test": "test_mutex_tryacquire", - "case": "mutex_tryacquire", - "unit": "interface_lock", - "test_level": 0 - }, - { - "test": "test_lock_acquire_release", - "case": "raw_spinlock_acquire_release", - "unit": "interface_lock", - "test_level": 0 - }, - { - "test": "test_lock_acquire_release", - "case": "spinlock_acquire_release", - "unit": "interface_lock", - "test_level": 0 - }, - { - "test": "test_enum", - "case": "enum", - "unit": "interface_rbtree", - "test_level": 0 - }, - { - "test": "test_enum_next", - "case": "enum_next", - "unit": "interface_rbtree", - "test_level": 0 - }, - { - "test": "test_insert", - "case": "insert", - "unit": "interface_rbtree", - "test_level": 0 - }, - { - "test": "test_search", - "case": "search", - "unit": "interface_rbtree", - "test_level": 0 - }, - { - "test": "test_search_less", - "case": "search_less_than", - "unit": "interface_rbtree", - "test_level": 0 - }, - { - "test": "test_unlink", - "case": "unlink", - "unit": "interface_rbtree", - "test_level": 0 - }, - { - "test": "test_unlink_corner_cases", - "case": "unlink_corner_cases", - "unit": "interface_rbtree", - "test_level": 0 - }, - { - "test": "test_list_add", - "case": "list_all_head", - "unit": "interface_list", - "test_level": 0 - }, - { - "test": "test_list_add", - "case": "list_all_tail", - "unit": "interface_list", - "test_level": 0 - }, - { - "test": "test_list_move", - "case": "list_move", - "unit": "interface_list", - "test_level": 0 - }, - { - "test": "test_list_replace", - "case": "list_replace", - "unit": "interface_list", - "test_level": 0 - }, - { - "test": "test_enable_disable_reset", - "case": "enable_disable_reset", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_is_stall_and_eng_intr_pending", - "case": "intr_is_stall_and_eng_intr_pending", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_intr_stall", - "case": "intr_stall", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_is_intr1_pending", - "case": "is_intr1_pending", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_isr_nonstall", - "case": "isr_nonstall", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_isr_stall", - "case": "isr_stall", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_free_env", - "case": "mc_free_env", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_setup_env", - "case": "mc_setup_env", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_pause_resume_mask", - "case": "pause_resume_mask", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_reset_mask", - "case": "reset_mask", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_unit_config", - "case": "unit_config", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_wait_for_deferred_interrupts", - "case": "wait_for_deferred_interrupts", - "unit": "mc", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_0k_um", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_64k_um", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_64k_um_as_fail", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_64k_um_busy_fail_1", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_64k_um_busy_fail_2", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_64k_um_vm_fail", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_einval_um", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_notp2_um", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_uva", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_as_alloc_share", - "case": "as_alloc_share_uva_enabled", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_init_mm", - "case": "init", - "unit": "mm.as", - "test_level": 0 - }, - { - "test": "test_mm_dma_alloc", - "case": "alloc", - "unit": "mm.dma", - "test_level": 0 - }, - { - "test": "test_mm_dma_alloc_flags", - "case": "alloc_flags", - "unit": "mm.dma", - "test_level": 0 - }, - { - "test": "test_mm_dma_alloc_map", - "case": "alloc_map", - "unit": "mm.dma", - "test_level": 0 - }, - { - "test": "test_mm_dma_alloc_map_fault_injection", - "case": "alloc_map_fault_inj", - "unit": "mm.dma", - "test_level": 0 - }, - { - "test": "test_mm_dma_init", - "case": "init", - "unit": "mm.dma", - "test_level": 0 - }, - { - "test": "test_mm_alloc_inst_block", - "case": "alloc_inst_block", - "unit": "mm.mm", - "test_level": 0 - }, - { - "test": "test_mm_init_hal", - "case": "init_hal", - "unit": "mm.mm", - "test_level": 0 - }, - { - "test": "test_nvgpu_init_mm", - "case": "init_mm", - "unit": "mm.mm", - "test_level": 0 - }, - { - "test": "test_nvgpu_mm_setup_hw", - "case": "init_mm_hw", - "unit": "mm.mm", - "test_level": 0 - }, - { - "test": "test_mm_inst_block", - "case": "inst_block", - "unit": "mm.mm", - "test_level": 0 - }, - { - "test": "test_mm_page_sizes", - "case": "page_sizes", - "unit": "mm.mm", - "test_level": 0 - }, - { - "test": "test_mm_remove_mm_support", - "case": "remove_support", - "unit": "mm.mm", - "test_level": 0 - }, - { - "test": "test_mm_suspend", - "case": "suspend", - "unit": "mm.mm", - "test_level": 0 - }, - { - "test": "test_env_clean_mm_gp10b_fusa", - "case": "env_clean", - "unit": "mm_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_env_init_mm_gp10b_fusa", - "case": "env_init", - "unit": "mm_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_mm_init_bar2_vm", - "case": "mm_init_bar2_vm_s0", - "unit": "mm_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_mm_init_bar2_vm", - "case": "mm_init_bar2_vm_s1", - "unit": "mm_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_mm_init_bar2_vm", - "case": "mm_init_bar2_vm_s2", - "unit": "mm_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_env_clean_mm_gv11b_fusa", - "case": "env_clean", - "unit": "mm_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_env_init_mm_gv11b_fusa", - "case": "env_init", - "unit": "mm_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_init_inst_block", - "case": "inst_block_s0", - "unit": "mm_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_init_inst_block", - "case": "inst_block_s1", - "unit": "mm_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_init_inst_block", - "case": "inst_block_s2", - "unit": "mm_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_init_inst_block", - "case": "inst_block_s3", - "unit": "mm_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_is_bar1_supported", - "case": "is_bar1_supported", - "unit": "mm_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_disable_hw", - "case": "disable_hw_s0", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_disable_hw", - "case": "disable_hw_s1", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_env_clean_mm_mmu_fault_gv11b_fusa", - "case": "env_clean", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_env_init_mm_mmu_fault_gv11b_fusa", - "case": "env_init", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_handle_other_fault_notify", - "case": "fault_notify_s0", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_handle_other_fault_notify", - "case": "fault_notify_s1", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_handle_other_fault_notify", - "case": "fault_notify_s2", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s0", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s1", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s10", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s2", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s3", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s4", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s5", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s6", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s7", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s8", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_mmu_fault_common", - "case": "handle_mmu_common_s9", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_nonreplay_replay_fault", - "case": "handle_nonreplay_s0", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_nonreplay_replay_fault", - "case": "handle_nonreplay_s1", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_nonreplay_replay_fault", - "case": "handle_nonreplay_s2", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_handle_nonreplay_replay_fault", - "case": "handle_nonreplay_s3", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_parse_mmu_fault_info", - "case": "parse_info_s0", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_parse_mmu_fault_info", - "case": "parse_info_s1", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_parse_mmu_fault_info", - "case": "parse_info_s2", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_parse_mmu_fault_info", - "case": "parse_info_s3", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_parse_mmu_fault_info", - "case": "parse_info_s4", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_parse_mmu_fault_info", - "case": "parse_info_s5", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_parse_mmu_fault_info", - "case": "parse_info_s6", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_setup_hw", - "case": "setup_hw", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_setup_sw", - "case": "setup_sw_s0", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_mm_mmu_fault_setup_sw", - "case": "setup_sw_s1", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_acr_bootstrap_hs_acr", - "case": "acr_bootstrap_hs_acr", - "unit": "nvgpu-acr", - "test_level": 0 - }, - { - "test": "test_acr_construct_execute", - "case": "acr_construct_execute", - "unit": "nvgpu-acr", - "test_level": 0 - }, - { - "test": "free_falcon_test_env", - "case": "acr_free_falcon_test_env", - "unit": "nvgpu-acr", - "test_level": 0 - }, - { - "test": "test_acr_init", - "case": "acr_init", - "unit": "nvgpu-acr", - "test_level": 0 - }, - { - "test": "test_acr_is_lsf_lazy_bootstrap", - "case": "acr_is_lsf_lazy_bootstrap", - "unit": "nvgpu-acr", - "test_level": 0 - }, - { - "test": "test_acr_prepare_ucode_blob", - "case": "acr_prepare_ucode_blob", - "unit": "nvgpu-acr", - "test_level": 0 - }, - { - "test": "test_determine_L2_size_bytes", - "case": "ltc_determine_L2_size", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_ecc_init_free", - "case": "ltc_ecc_init_free", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_functionality_tests", - "case": "ltc_functionality_tests", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_init_support", - "case": "ltc_init_support", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_intr", - "case": "ltc_intr", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_intr_configure", - "case": "ltc_intr_configure", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_intr_en_illegal_compstat", - "case": "ltc_intr_en_illegal_compstat", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_negative_tests", - "case": "ltc_negative_tests", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_remove_support", - "case": "ltc_remove_support", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_ltc_set_enabled", - "case": "ltc_set_enabled", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_flush_ltc", - "case": "ltc_flush", - "unit": "nvgpu-ltc", - "test_level": 0 - }, - { - "test": "test_netlist_init_support", - "case": "netlist_init_support", - "unit": "nvgpu-netlist", - "test_level": 0 - }, - { - "test": "test_netlist_negative_tests", - "case": "netlist_negative_tests", - "unit": "nvgpu-netlist", - "test_level": 0 - }, - { - "test": "test_netlist_query_tests", - "case": "netlist_query_tests", - "unit": "nvgpu-netlist", - "test_level": 0 - }, - { - "test": "test_netlist_remove_support", - "case": "netlist_remove_support", - "unit": "nvgpu-netlist", - "test_level": 0 - }, - { - "test": "test_priv_ring_setup", - "case": "priv_ring_setup", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "test_enable_priv_ring", - "case": "priv_ring_enable_priv_ring", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "test_set_ppriv_timeout_settings", - "case": "priv_ring_set_ppriv_timeout_settings", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "test_enum_ltc", - "case": "priv_ring_enum_ltc", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "test_get_gpc_count", - "case": "priv_ring_get_gpc_count", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "test_get_fbp_count", - "case": "priv_ring_get_fbp_count", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "test_decode_error_code", - "case": "priv_ring_decode_error_code", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "test_priv_ring_isr", - "case": "priv_ring_isr", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "test_priv_ring_free_reg_space", - "case": "priv_ring_free_reg_space", - "unit": "priv_ring", - "test_level": 0 - }, - { - "test": "free_falcon_test_env", - "case": "falcon_free_test_env", - "unit": "nvgpu-pmu", - "test_level": 0 - }, - { - "test": "test_pmu_early_init", - "case": "pmu_early_init", - "unit": "nvgpu-pmu", - "test_level": 0 - }, - { - "test": "test_pmu_remove_support", - "case": "pmu_remove_support", - "unit": "nvgpu-pmu", - "test_level": 0 - }, - { - "test": "test_pmu_reset", - "case": "pmu_reset", - "unit": "nvgpu-pmu", - "test_level": 0 - }, - { - "test": "test_pmu_isr", - "case": "pmu_isr", - "unit": "nvgpu-pmu", - "test_level": 0 - }, - { - "test": "test_is_pmu_supported", - "case": "pmu_supported", - "unit": "nvgpu-pmu", - "test_level": 0 - }, - { - "test": "test_nvgpu_alloc_destroy", - "case": "alloc_destroy", - "unit": "nvgpu_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_alloc_ops_present", - "case": "alloc_ops", - "unit": "nvgpu_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_allocator_init", - "case": "allocator_init", - "unit": "nvgpu_allocator", - "test_level": 0 - }, - { - "test": "test_nvgpu_alloc_common_init", - "case": "common_init", - "unit": "nvgpu_allocator", - "test_level": 0 - }, - { - "test": "test_channel_abort_cleanup", - "case": "abort_cleanup", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_alloc_inst", - "case": "alloc_inst", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_abort", - "case": "ch_abort", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_nvgpu_channel_commit_va", - "case": "channel_commit_va", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_from_invalid_id", - "case": "channel_from_invalid_id", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_put_warn", - "case": "channel_put_warn", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_close", - "case": "close", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_debug_dump", - "case": "debug_dump", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_enable_disable_tsg", - "case": "enable_disable_tsg", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_from_inst", - "case": "from_inst", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_nvgpu_get_gpfifo_entry_size", - "case": "get_gpfifo_entry_size", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_mark_error", - "case": "mark_error", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_open", - "case": "open", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_ch_referenceable_cleanup", - "case": "referenceable_cleanup", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_semaphore_wakeup", - "case": "semaphore_wakeup", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_setup_bind", - "case": "setup_bind", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_setup_sw", - "case": "setup_sw", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_suspend_resume_serviceable_chs", - "case": "suspend_resume", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_channel_sw_quiesce", - "case": "sw_quiesce", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_trace_write_pushbuffers", - "case": "trace_write_pushbuffers", - "unit": "nvgpu_channel", - "test_level": 0 - }, - { - "test": "test_gk20a_channel_disable", - "case": "disable", - "unit": "nvgpu_channel_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_channel_enable", - "case": "enable", - "unit": "nvgpu_channel_gk20a", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_channel_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_channel_read_state", - "case": "read_state", - "unit": "nvgpu_channel_gk20a", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_channel_gk20a", - "test_level": 0 - }, - { - "test": "test_gm20b_channel_bind", - "case": "bind", - "unit": "nvgpu_channel_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_channel_force_ctx_reload", - "case": "force_ctx_reload", - "unit": "nvgpu_channel_gm20b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_channel_gm20b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_channel_gm20b", - "test_level": 0 - }, - { - "test": "test_gv11b_channel_count", - "case": "count", - "unit": "nvgpu_channel_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_channel_debug_dump", - "case": "debug_dump", - "unit": "nvgpu_channel_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_channel_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_channel_read_state", - "case": "read_state", - "unit": "nvgpu_channel_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_channel_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_channel_reset_faulted", - "case": "reset_faulted", - "unit": "nvgpu_channel_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_channel_unbind", - "case": "unbind", - "unit": "nvgpu_channel_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_ctxsw_timeout_enable", - "case": "ctxsw_timeout_enable", - "unit": "nvgpu_ctxsw_timeout_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_handle_ctxsw_timeout", - "case": "handle_ctxsw_timeout", - "unit": "nvgpu_ctxsw_timeout_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_ctxsw_timeout_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_ctxsw_timeout_gv11b", - "test_level": 0 - }, - { - "test": "test_engine_enum_from_type", - "case": "enum_from_type", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_find_busy_doing_ctxsw", - "case": "find_busy_doing_ctxsw", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_get_active_eng_info", - "case": "get_active_eng_info", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_get_fast_ce_runlist_id", - "case": "get_fast_ce_runlist_id", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_get_gr_runlist_id", - "case": "get_gr_runlist_id", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_get_mask_on_id", - "case": "get_mask_on_id", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_get_runlist_busy_engines", - "case": "get_runlist_busy_engines", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_ids", - "case": "ids", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_init_info", - "case": "init_info", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_interrupt_mask", - "case": "interrupt_mask", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_is_valid_runlist_id", - "case": "is_valid_runlist_id", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_mmu_fault_id", - "case": "mmu_fault_id", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_mmu_fault_id_veid", - "case": "mmu_fault_id_veid", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_setup_sw", - "case": "setup_sw", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_engine_status", - "case": "status", - "unit": "nvgpu_engine", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_engine_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_read_engine_status_info", - "case": "read_engine_status_info", - "unit": "nvgpu_engine_gm20b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_engine_gm20b", - "test_level": 0 - }, - { - "test": "test_gp10b_engine_init_ce_info", - "case": "engine_init_ce_info", - "unit": "nvgpu_engine_gp10b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_engine_gp10b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_engine_gp10b", - "test_level": 0 - }, - { - "test": "test_gv100_dump_engine_status", - "case": "dump_engine_status_info", - "unit": "nvgpu_engine_gv100", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_engine_gv100", - "test_level": 0 - }, - { - "test": "test_gv100_read_engine_status_info", - "case": "read_engine_status_info", - "unit": "nvgpu_engine_gv100", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_engine_gv100", - "test_level": 0 - }, - { - "test": "test_gv11b_is_fault_engine_subid_gpc", - "case": "is_fault_engine_subid_gpc", - "unit": "nvgpu_engine_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_suspend", - "case": "fifo_suspend", - "unit": "nvgpu_fifo", - "test_level": 0 - }, - { - "test": "test_fifo_sw_quiesce", - "case": "fifo_sw_quiesce", - "unit": "nvgpu_fifo", - "test_level": 0 - }, - { - "test": "test_init_support", - "case": "init", - "unit": "nvgpu_fifo", - "test_level": 0 - }, - { - "test": "test_decode_pbdma_ch_eng_status", - "case": "pbdma_ch_eng_status", - "unit": "nvgpu_fifo", - "test_level": 0 - }, - { - "test": "test_gk20a_get_timeslices", - "case": "get_timeslices", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_init_pbdma_map", - "case": "init_pbdma_map", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_fifo_intr_1_enable", - "case": "intr_1_enable", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_fifo_intr_1_isr", - "case": "intr_1_isr", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_fifo_intr_handle_chsw_error", - "case": "intr_handle_chsw_error", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_fifo_intr_handle_runlist_event", - "case": "intr_handle_runlist_event", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_fifo_pbdma_isr", - "case": "pbdma_isr", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_fifo_gk20a", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_handle_sched_error", - "case": "handle_sched_error", - "unit": "nvgpu_fifo_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_init_hw", - "case": "init_hw", - "unit": "nvgpu_fifo_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_fifo_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_intr_0_enable", - "case": "intr_0_enable", - "unit": "nvgpu_fifo_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_intr_0_isr", - "case": "intr_0_isr", - "unit": "nvgpu_fifo_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_intr_recover_mask", - "case": "intr_recover_mask", - "unit": "nvgpu_fifo_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_mmu_fault_id_to_pbdma_id", - "case": "mmu_fault_id_to_pbdma_id", - "unit": "nvgpu_fifo_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_fifo_gv11b", - "test_level": 0 - }, - { - "test": "test_gr_init_setup", - "case": "gr_init_setup", - "unit": "nvgpu_gr_config", - "test_level": 0 - }, - { - "test": "test_gr_config_init", - "case": "config_init", - "unit": "nvgpu_gr_config", - "test_level": 0 - }, - { - "test": "test_gr_config_count", - "case": "config_check_init", - "unit": "nvgpu_gr_config", - "test_level": 0 - }, - { - "test": "test_gr_config_set_get", - "case": "config_check_set_get", - "unit": "nvgpu_gr_config", - "test_level": 0 - }, - { - "test": "test_gr_config_error_injection", - "case": "config_error_injection", - "unit": "nvgpu_gr_config", - "test_level": 0 - }, - { - "test": "test_gr_config_deinit", - "case": "config_deinit", - "unit": "nvgpu_gr_config", - "test_level": 0 - }, - { - "test": "test_gr_remove_setup", - "case": "gr_remove_setup", - "unit": "nvgpu_gr_config", - "test_level": 0 - }, - { - "test": "test_gr_falcon_init", - "case": "gr_falcon_init", - "unit": "nvgpu_gr_falcon", - "test_level": 0 - }, - { - "test": "test_gr_falcon_init_ctxsw", - "case": "gr_falcon_init_ctxsw", - "unit": "nvgpu_gr_falcon", - "test_level": 0 - }, - { - "test": "test_gr_falcon_query_test", - "case": "gr_falcon_query_test", - "unit": "nvgpu_gr_falcon", - "test_level": 0 - }, - { - "test": "test_gr_falcon_init_ctx_state", - "case": "gr_falcon_init_ctx_state", - "unit": "nvgpu_gr_falcon", - "test_level": 0 - }, - { - "test": "test_gr_falcon_fail_ctxsw_ucode", - "case": "gr_falcon_fail_ctxsw_ucode", - "unit": "nvgpu_gr_falcon", - "test_level": 0 - }, - { - "test": "test_gr_falcon_gm20b_ctrl_ctxsw", - "case": "gr_falcon_gm20b_ctrl_ctxsw", - "unit": "nvgpu_gr_falcon", - "test_level": 0 - }, - { - "test": "test_gr_falcon_deinit", - "case": "gr_falcon_deinit", - "unit": "nvgpu_gr_falcon", - "test_level": 0 - }, - { - "test": "test_gr_init_ecc_features", - "case": "gr_ecc_features", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_prepare", - "case": "gr_init_prepare", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_setup", - "case": "gr_init_setup", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_support", - "case": "gr_init_support", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_hal_error_injection", - "case": "gr_init_hal_error_injection", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_hal_config_error_injection", - "case": "gr_init_hal_config_error_injection", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_hal_wait_empty", - "case": "gr_init_hal_wait_empty", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_hal_wait_idle", - "case": "gr_init_hal_wait_idle", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_hal_ecc_scrub_reg", - "case": "gr_init_hal_ecc_scrub_reg", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_hal_wait_fe_idle", - "case": "gr_init_hal_wait_fe_idle", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_hal_fe_pwr_mode", - "case": "gr_init_hal_fe_pwr_mode", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_init_error_injections", - "case": "gr_init_error_injections", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_remove_setup", - "case": "gr_remove_setup", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_remove_support", - "case": "gr_remove_support", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_suspend", - "case": "gr_suspend", - "unit": "nvgpu_gr_init", - "test_level": 0 - }, - { - "test": "test_gr_intr_without_channel", - "case": "gr_intr_channel_free", - "unit": "nvgpu_gr_intr", - "test_level": 0 - }, - { - "test": "test_gr_init_setup_cleanup", - "case": "gr_intr_cleanup", - "unit": "nvgpu_gr_intr", - "test_level": 0 - }, - { - "test": "test_gr_intr_fecs_exceptions", - "case": "gr_intr_fecs_exceptions", - "unit": "nvgpu_gr_intr", - "test_level": 0 - }, - { - "test": "test_gr_intr_gpc_exceptions", - "case": "gr_intr_gpc_exceptions", - "unit": "nvgpu_gr_intr", - "test_level": 0 - }, - { - "test": "test_gr_init_setup_ready", - "case": "gr_intr_setup", - "unit": "nvgpu_gr_intr", - "test_level": 0 - }, - { - "test": "test_gr_intr_sw_exceptions", - "case": "gr_intr_sw_method", - "unit": "nvgpu_gr_intr", - "test_level": 0 - }, - { - "test": "test_gr_intr_setup_channel", - "case": "gr_intr_with_channel", - "unit": "nvgpu_gr_intr", - "test_level": 0 - }, - { - "test": "test_gr_init_setup_ready", - "case": "gr_setup_setup", - "unit": "nvgpu_gr_setup", - "test_level": 0 - }, - { - "test": "test_gr_setup_alloc_obj_ctx", - "case": "gr_setup_alloc_obj_ctx", - "unit": "nvgpu_gr_setup", - "test_level": 0 - }, - { - "test": "test_gr_setup_set_preemption_mode", - "case": "gr_setup_set_preemption_mode", - "unit": "nvgpu_gr_setup", - "test_level": 0 - }, - { - "test": "test_gr_setup_preemption_mode_errors", - "case": "gr_setup_preemption_mode_errors", - "unit": "nvgpu_gr_setup", - "test_level": 0 - }, - { - "test": "test_gr_setup_free_obj_ctx", - "case": "gr_setup_free_obj_ctx", - "unit": "nvgpu_gr_setup", - "test_level": 0 - }, - { - "test": "test_gr_setup_alloc_obj_ctx_error_injections", - "case": "gr_setup_alloc_obj_ctx_error_injections", - "unit": "nvgpu_gr_setup", - "test_level": 0 - }, - { - "test": "test_gr_init_setup_cleanup", - "case": "gr_setup_cleanup", - "unit": "nvgpu_gr_setup", - "test_level": 0 - }, - { - "test": "test_gr_init_setup_ready", - "case": "gr_fs_state_setup", - "unit": "nvgpu_gr_fs_state", - "test_level": 0 - }, - { - "test": "test_gr_fs_state_error_injection", - "case": "gr_fs_state_error_injection", - "unit": "nvgpu_gr_fs_state", - "test_level": 0 - }, - { - "test": "test_gr_init_setup_cleanup", - "case": "gr_fs_state_cleanup", - "unit": "nvgpu_gr_fs_state", - "test_level": 0 - }, - { - "test": "test_gr_init_setup", - "case": "gr_global_ctx_setup", - "unit": "nvgpu_gr_global_ctx", - "test_level": 0 - }, - { - "test": "test_gr_global_ctx_alloc_error_injection", - "case": "gr_global_ctx_alloc_errors", - "unit": "nvgpu_gr_global_ctx", - "test_level": 0 - }, - { - "test": "test_gr_global_ctx_local_ctx_error_injection", - "case": "gr_global_ctx_local_ctx_errors", - "unit": "nvgpu_gr_global_ctx", - "test_level": 0 - }, - { - "test": "test_gr_remove_setup", - "case": "gr_global_ctx_cleanup", - "unit": "nvgpu_gr_global_ctx", - "test_level": 0 - }, - { - "test": "test_gr_init_setup", - "case": "gr_ctx_setup", - "unit": "nvgpu_gr_ctx", - "test_level": 0 - }, - { - "test": "test_gr_ctx_error_injection", - "case": "gr_ctx_alloc_errors", - "unit": "nvgpu_gr_ctx", - "test_level": 0 - }, - { - "test": "test_gr_remove_setup", - "case": "gr_ctx_cleanup", - "unit": "nvgpu_gr_ctx", - "test_level": 0 - }, - { - "test": "test_gr_init_setup_ready", - "case": "gr_obj_ctx_setup", - "unit": "nvgpu_gr_obj_ctx", - "test_level": 0 - }, - { - "test": "test_gr_obj_ctx_error_injection", - "case": "gr_obj_ctx_alloc_errors", - "unit": "nvgpu_gr_obj_ctx", - "test_level": 0 - }, - { - "test": "test_gr_init_setup_cleanup", - "case": "gr_obj_ctx_cleanup", - "unit": "nvgpu_gr_obj_ctx", - "test_level": 0 - }, - { - "test": "test_nvgpu_mem_create_from_mem", - "case": "create_mem_from_mem", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_nvgpu_mem_create_from_phys", - "case": "mem_create_from_phys", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_nvgpu_mem_iommu_translate", - "case": "mem_iommu_translate", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_nvgpu_aperture_mask", - "case": "nvgpu_aperture_mask", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_nvgpu_aperture_str", - "case": "nvgpu_aperture_name", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_nvgpu_mem_phys_ops", - "case": "nvgpu_mem_phys_ops", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_nvgpu_mem_wr_rd", - "case": "nvgpu_mem_wr_rd", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_nvgpu_memset_sysmem", - "case": "nvgpu_memset_sysmem", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_free_nvgpu_mem", - "case": "test_free_nvgpu_mem", - "unit": "nvgpu_mem", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_pbdma", - "test_level": 0 - }, - { - "test": "test_pbdma_find_for_runlist", - "case": "pbdma_find_for_runlist", - "unit": "nvgpu_pbdma", - "test_level": 0 - }, - { - "test": "test_pbdma_status", - "case": "pbdma_status", - "unit": "nvgpu_pbdma", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_pbdma", - "test_level": 0 - }, - { - "test": "test_pbdma_setup_sw", - "case": "setup_sw", - "unit": "nvgpu_pbdma", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_acquire_val", - "case": "pbdma_acquire_val", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_format_gpfifo_entry", - "case": "pbdma_format_gpfifo_entry", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_get_ctrl_hce_priv_mode_yes", - "case": "pbdma_get_ctrl_hce_priv_mode_yes", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_get_fc_subdevice", - "case": "pbdma_get_fc_subdevice", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_get_gp_base", - "case": "pbdma_get_gp_base", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_get_userd", - "case": "pbdma_get_userd", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_handle_intr", - "case": "pbdma_handle_intr", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_handle_intr_0", - "case": "pbdma_handle_intr_0", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_intr_descs", - "case": "pbdma_intr_descs", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_pbdma_read_data", - "case": "pbdma_read_data", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gm20b_read_pbdma_status_info", - "case": "read_pbdma_status_info", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_pbdma_gm20b", - "test_level": 0 - }, - { - "test": "test_gp10b_pbdma_get_config_auth_level_privileged", - "case": "get_config_auth_level_privileged", - "unit": "nvgpu_pbdma_gp10b", - "test_level": 0 - }, - { - "test": "test_gp10b_pbdma_get_fc_runlist_timeslice", - "case": "get_fc_runlist_timeslice", - "unit": "nvgpu_pbdma_gp10b", - "test_level": 0 - }, - { - "test": "test_gp10b_pbdma_get_signature", - "case": "get_signature", - "unit": "nvgpu_pbdma_gp10b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_pbdma_gp10b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_pbdma_gp10b", - "test_level": 0 - }, - { - "test": "test_gv11b_pbdma_config_userd_writeback_enable", - "case": "config_userd_writeback_enable", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_pbdma_get_fc", - "case": "get_fc", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_pbdma_handle_intr_0", - "case": "handle_intr_0", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_pbdma_handle_intr_1", - "case": "handle_intr_1", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_pbdma_intr_descs", - "case": "intr_descs", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_pbdma_intr_enable", - "case": "intr_enable", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_pbdma_set_channel_info_veid", - "case": "set_channel_info_veid", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_pbdma_setup_hw", - "case": "setup_hw", - "unit": "nvgpu_pbdma_gv11b", - "test_level": 0 - }, - { - "test": "test_preempt_get_timeout", - "case": "get_timeout", - "unit": "nvgpu_preempt", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_preempt", - "test_level": 0 - }, - { - "test": "test_preempt", - "case": "preempt", - "unit": "nvgpu_preempt", - "test_level": 0 - }, - { - "test": "test_preempt_poll_tsg_on_pbdma", - "case": "preempt_poll", - "unit": "nvgpu_preempt", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_preempt", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_preempt_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_is_preempt_pending", - "case": "is_preempt_pending", - "unit": "nvgpu_preempt_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_preempt_channel", - "case": "preempt_channel", - "unit": "nvgpu_preempt_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_preempt_poll_pbdma", - "case": "preempt_poll_pbdma", - "unit": "nvgpu_preempt_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_preempt_runlists_for_rc", - "case": "preempt_runlists_for_rc", - "unit": "nvgpu_preempt_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_preempt_trigger", - "case": "preempt_trigger", - "unit": "nvgpu_preempt_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_fifo_preempt_tsg", - "case": "preempt_tsg", - "unit": "nvgpu_preempt_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_preempt_gv11b", - "test_level": 0 - }, - { - "test": "test_gp10b_ramfc_commit_userd", - "case": "commit_userd", - "unit": "nvgpu_ramfc_gp10b", - "test_level": 0 - }, - { - "test": "test_gv11b_ramfc_capture_ram_dump", - "case": "capture_ram_dump", - "unit": "nvgpu_ramfc_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_ramfc_setup", - "case": "ramfc_setup", - "unit": "nvgpu_ramfc_gv11b", - "test_level": 0 - }, - { - "test": "test_flat_gen", - "case": "flat", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_runlist_get_mask", - "case": "get_mask", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_interleave_dual", - "case": "interleave_dual", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_interleaving_levels", - "case": "interleave_level", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_runlist_interleave_level_name", - "case": "interleave_level_name", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_interleave_single", - "case": "interleave_single", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_runlist_lock_unlock_active_runlists", - "case": "lock_unlock_active_runlists", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_runlist_reload_ids", - "case": "reload_ids", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_runlist_update_locked", - "case": "runlist_update", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_runlist_set_state", - "case": "set_state", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_runlist_setup_sw", - "case": "setup_sw", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_tsg_format_gen", - "case": "tsg_format_flat", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_runlist_update_for_channel", - "case": "update_for_channel", - "unit": "nvgpu_runlist", - "test_level": 0 - }, - { - "test": "test_gk20a_runlist_hw_submit", - "case": "hw_submit", - "unit": "nvgpu_runlist_gk20a", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_runlist_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_runlist_length_max", - "case": "length_max", - "unit": "nvgpu_runlist_gk20a", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_runlist_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_runlist_wait_pending", - "case": "wait_pending", - "unit": "nvgpu_runlist_gk20a", - "test_level": 0 - }, - { - "test": "test_gk20a_runlist_write_state", - "case": "write_state", - "unit": "nvgpu_runlist_gk20a", - "test_level": 0 - }, - { - "test": "test_gv11b_runlist_entry_size", - "case": "entry_size", - "unit": "nvgpu_runlist_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_runlist_get_ch_entry", - "case": "get_ch_entry", - "unit": "nvgpu_runlist_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_runlist_get_tsg_entry", - "case": "get_tsg_entry", - "unit": "nvgpu_runlist_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_runlist_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_runlist_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_runlist_count_max", - "case": "runlist_count_max", - "unit": "nvgpu_runlist_gv11b", - "test_level": 0 - }, - { - "test": "test_nvgpu_sgt_alignment_non_iommu", - "case": "sgt_alignment_non_iommu", - "unit": "nvgpu_sgt", - "test_level": 0 - }, - { - "test": "test_nvgpu_sgt_alignment_with_iommu", - "case": "sgt_alignment_with_iommu", - "unit": "nvgpu_sgt", - "test_level": 0 - }, - { - "test": "test_nvgpu_sgt_basic_apis", - "case": "sgt_basic_apis", - "unit": "nvgpu_sgt", - "test_level": 0 - }, - { - "test": "test_nvgpu_sgt_get_next", - "case": "sgt_get_next", - "unit": "nvgpu_sgt", - "test_level": 0 - }, - { - "test": "test_tsg_abort", - "case": "abort", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_bind_channel", - "case": "bind_channel", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_enable", - "case": "enable_disable", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_enable_sched", - "case": "enable_disable_sched", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_check_and_get_from_id", - "case": "get_from_id", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_mark_error", - "case": "mark_error", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_open", - "case": "open", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_release", - "case": "release", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_reset_faulted_eng_pbdma", - "case": "reset_faulted_eng_pbdma", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_set_ctx_mmu_error", - "case": "set_ctx_mmu_error", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_setup_sw", - "case": "setup_sw", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_unbind_channel", - "case": "unbind_channel", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_unbind_channel_check_ctx_reload", - "case": "unbind_channel_check_ctx_reload", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_tsg_unbind_channel_check_hw_state", - "case": "unbind_channel_check_hw_state", - "unit": "nvgpu_tsg", - "test_level": 0 - }, - { - "test": "test_gv11b_tsg_bind_channel_eng_method_buffers", - "case": "gv11b_tsg_bind_channel_eng_method_buffers", - "unit": "nvgpu_tsg_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_tsg_enable", - "case": "gv11b_tsg_enable", - "unit": "nvgpu_tsg_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_tsg_init_eng_method_buffers", - "case": "gv11b_tsg_init_eng_method_buffers", - "unit": "nvgpu_tsg_gv11b", - "test_level": 0 - }, - { - "test": "test_gv11b_tsg_unbind_channel_check_eng_faulted", - "case": "gv11b_tsg_unbind_channel_check_eng_faulted", - "unit": "nvgpu_tsg_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_tsg_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_tsg_gv11b", - "test_level": 0 - }, - { - "test": "test_gk20a_userd_entry_size", - "case": "entry_size", - "unit": "nvgpu_userd_gk20a", - "test_level": 0 - }, - { - "test": "test_fifo_init_support", - "case": "init_support", - "unit": "nvgpu_usermode_gv11b", - "test_level": 0 - }, - { - "test": "test_fifo_remove_support", - "case": "remove_support", - "unit": "nvgpu_usermode_gv11b", - "test_level": 0 - }, - { - "test": "test_rc_init", - "case": "rc_init", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_fifo_recover", - "case": "rc_fifo_recover", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_ctxsw_timeout", - "case": "rc_ctxsw_timeout", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_pbdma_fault", - "case": "rc_pbdma_fault", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_preempt_timeout", - "case": "rc_preempt_timeout", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_gr_fault", - "case": "rc_gr_fault", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_sched_error_bad_tsg", - "case": "rc_sched_error_bad_tsg", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_tsg_and_related_engines", - "case": "rc_tsg_and_related_engines", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_mmu_fault", - "case": "rc_mmu_fault", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_rc_deinit", - "case": "rc_deinit", - "unit": "nvgpu-rc", - "test_level": 0 - }, - { - "test": "test_gv11b_usermode", - "case": "usermode", - "unit": "nvgpu_usermode_gv11b", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_clean", - "case": "gmmu_clean", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_init", - "case": "gmmu_init", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap", - "case": "gmmu_map_unmap_iommu_sysmem", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_adv", - "case": "gmmu_map_unmap_iommu_sysmem_adv_big_pages", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_batched", - "case": "gmmu_map_unmap_iommu_sysmem_adv_big_pages_batched", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_adv", - "case": "gmmu_map_unmap_iommu_sysmem_adv_big_pages_offset", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_adv", - "case": "gmmu_map_unmap_iommu_sysmem_adv_ctag", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_adv", - "case": "gmmu_map_unmap_iommu_sysmem_adv_kernel_pages", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_adv", - "case": "gmmu_map_unmap_iommu_sysmem_adv_sgl_skip", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_adv", - "case": "gmmu_map_unmap_iommu_sysmem_adv_small_pages_sparse", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap", - "case": "gmmu_map_unmap_iommu_sysmem_coh", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap", - "case": "gmmu_map_unmap_iommu_sysmem_ro", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap", - "case": "gmmu_map_unmap_iommu_sysmem_ro_f", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap", - "case": "gmmu_map_unmap_no_iommu_sysmem", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_adv", - "case": "gmmu_map_unmap_no_iommu_sysmem_adv_big_pages_offset_large", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap", - "case": "gmmu_map_unmap_no_iommu_sysmem_noncacheable", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap", - "case": "gmmu_map_unmap_sgt_iommu_sysmem", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_adv", - "case": "gmmu_map_unmap_tlb_invalidate_fail", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap", - "case": "gmmu_map_unmap_unmapped", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_set_pte", - "case": "gmmu_set_pte", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_init_page_table_fail", - "case": "init_page_table_fail", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_map_fail", - "case": "map_fail_fi_null_sgt", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_map_fail", - "case": "map_fail_fi_vm_alloc", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_map_fail", - "case": "map_fail_pd_allocate", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_map_fail", - "case": "map_fail_pd_allocate_child", - "unit": "page_table", - "test_level": 0 - }, - { - "test": "test_nvgpu_gmmu_map_unmap_map_fail", - "case": "map_fail_tlb_invalidate", - "unit": "page_table", - "test_level": 0 - }, - { - "case": "req_fixed_address", - "vc": "V4", - "uid": "6439094", - "req": "NVGPU-RQCD-45.C2", - "test": "test_nvgpu_page_table_c2_full", - "test_level": 0, - "unit": "page_table" - }, - { - "case": "req_multiple_alignments", - "vc": "V4", - "uid": "6439094", - "req": "NVGPU-RQCD-45.C1", - "test": "test_nvgpu_page_table_c1_full", - "test_level": 0, - "unit": "page_table" - }, - { - "test": "test_page_faults_clean", - "case": "clean", - "unit": "page_table_faults", - "test_level": 0 - }, - { - "test": "test_page_faults_disable_hw", - "case": "disable_hw", - "unit": "page_table_faults", - "test_level": 0 - }, - { - "test": "test_page_faults_init", - "case": "init", - "unit": "page_table_faults", - "test_level": 0 - }, - { - "test": "test_page_faults_inst_block", - "case": "inst_block_s0", - "unit": "page_table_faults", - "test_level": 0 - }, - { - "test": "test_page_faults_inst_block", - "case": "inst_block_s1", - "unit": "page_table_faults", - "test_level": 0 - }, - { - "test": "test_page_faults_inst_block", - "case": "inst_block_s2", - "unit": "page_table_faults", - "test_level": 0 - }, - { - "test": "test_page_faults_pending", - "case": "pending", - "unit": "page_table_faults", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_1024x256B_x11x3", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_1024x256B_x16x1", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_1024x256B_x16x15", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_1024x256B_x32x1", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_1x1024B", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_1x2048B", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_1x256B", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_1x512B", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_direct_1024x16PAGE", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_direct_1024xPAGE", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_direct_1024xPAGE_x16x1", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_direct_1024xPAGE_x16x15", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_direct_1024xPAGE_x16x4", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_direct_1024xPAGE_x32x24", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_direct_1x16PAGE", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_alloc_gen", - "case": "alloc_direct_1xPAGE", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_alloc_direct_fi", - "case": "alloc_direct_oom", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_alloc_fi", - "case": "alloc_oom", - "unit": "pd_cache", - "test_level": 0 - }, - { - "case": "deinit", - "vc": "V2", - "uid": "6962610", - "req": "NVGPU-RQCD-125.C1", - "test": "test_init_deinit", - "test_level": 0, - "unit": "pd_cache" - }, - { - "test": "test_pd_cache_env_init", - "case": "env_init", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_cache_fini", - "case": "fini", - "unit": "pd_cache", - "test_level": 0 - }, - { - "test": "test_pd_free_empty_pd", - "case": "free_empty", - "unit": "pd_cache", - "test_level": 0 - }, - { - "case": "gpu_address", - "vc": "V2", - "uid": "6962424", - "req": "NVGPU-RQCD-123.C1", - "test": "test_gpu_address", - "test_level": 0, - "unit": "pd_cache" - }, - { - "test": "test_pd_cache_init", - "case": "init", - "unit": "pd_cache", - "test_level": 0 - }, - { - "case": "init_deinit", - "vc": "V3", - "uid": "6962548", - "req": "NVGPU-RQCD-124.C1", - "test": "test_init_deinit", - "test_level": 0, - "unit": "pd_cache" - }, - { - "test": "test_pd_alloc_invalid_input", - "case": "invalid_pd_alloc", - "unit": "pd_cache", - "test_level": 0 - }, - { - "case": "multi_init", - "vc": "V2", - "uid": "7138651", - "req": "NVGPU-RQCD-155.C1", - "test": "test_init_deinit", - "test_level": 0, - "unit": "pd_cache" - }, - { - "case": "offset_comp", - "vc": "V1", - "uid": "6963067", - "req": "NVGPU-RQCD-126.C1,2", - "test": "test_offset_computation", - "test_level": 0, - "unit": "pd_cache" - }, - { - "case": "pd_packing", - "vc": "V4", - "uid": "6439202", - "req": "NVGPU-RQCD-68.C3", - "test": "test_per_pd_size", - "test_level": 0, - "unit": "pd_cache" - }, - { - "case": "pd_reusability", - "vc": "V3", - "uid": "6898078", - "req": "NVGPU-RQCD-118.C1", - "test": "test_per_pd_size", - "test_level": 0, - "unit": "pd_cache" - }, - { - "case": "valid_alloc", - "vc": "V4", - "uid": "6439202", - "req": "NVGPU-RQCD-68.C1,2", - "test": "test_pd_cache_valid_alloc", - "test_level": 0, - "unit": "pd_cache" - }, - { - "case": "write", - "vc": "V3", - "uid": "6957786", - "req": "NVGPU-RQCD-122.C1", - "test": "test_pd_write", - "test_level": 0, - "unit": "pd_cache" - }, - { - "test": "test_bit_setclear", - "case": "bit_clear", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_bit_setclear", - "case": "bit_set", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_bitmap_setclear", - "case": "bitmap_clear", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_bitmap_setclear", - "case": "bitmap_set", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_ffs", - "case": "ffs", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_ffz", - "case": "ffz", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_find_first_bit", - "case": "find_first_bit", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_find_first_bit", - "case": "find_first_zero_bit", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_find_next_bit", - "case": "find_next_bit", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_find_zero_area", - "case": "find_zero_area", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_fls", - "case": "fls", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_bitmap_info", - "case": "info", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_single_bitops", - "case": "single_bitops", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_test_and_setclear_bit", - "case": "test_and_clear_bit", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_test_and_setclear_bit", - "case": "test_and_set_bit", - "unit": "posix_bitops", - "test_level": 0 - }, - { - "test": "test_bug_cb", - "case": "bug_cb", - "unit": "posix_bug", - "test_level": 0 - }, - { - "test": "test_expect_bug", - "case": "expect_bug", - "unit": "posix_bug", - "test_level": 0 - }, - { - "test": "test_circbufcnt", - "case": "circbufcnt", - "unit": "posix_circbuf", - "test_level": 0 - }, - { - "test": "test_circbufspace", - "case": "circbufspace", - "unit": "posix_circbuf", - "test_level": 0 - }, - { - "test": "test_cond_init_destroy", - "case": "init", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "timedwait_signal", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_broadcast", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_broadcast_int", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_broadcast_locked", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_condition", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_condition_int", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_condition_locked", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_signal", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_signal_int", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "test_cond_signal", - "case": "wait_signal_locked", - "unit": "posix_cond", - "test_level": 0 - }, - { - "test": "sanity_test_endianness", - "case": "endianness", - "unit": "posix_env", - "test_level": 0 - }, - { - "test": "sanity_test_ptr_in_u64", - "case": "ptr_in_u64", - "unit": "posix_env", - "test_level": 0 - }, - { - "test": "sanity_test_signage", - "case": "signage", - "unit": "posix_env", - "test_level": 0 - }, - { - "test": "sanity_test_sizes", - "case": "sizes", - "unit": "posix_env", - "test_level": 0 - }, - { - "test": "sanity_test_type_max", - "case": "type_max", - "unit": "posix_env", - "test_level": 0 - }, - { - "test": "test_kmem_big_alloc", - "case": "big_alloc", - "unit": "posix_kmem", - "test_level": 0 - }, - { - "test": "test_kmem_cache_alloc", - "case": "cache_alloc", - "unit": "posix_kmem", - "test_level": 0 - }, - { - "test": "test_kmem_cache_create", - "case": "cache_create", - "unit": "posix_kmem", - "test_level": 0 - }, - { - "test": "test_kmem_kcalloc", - "case": "kcalloc_test", - "unit": "posix_kmem", - "test_level": 0 - }, - { - "test": "test_kmem_kmalloc", - "case": "kmalloc_test", - "unit": "posix_kmem", - "test_level": 0 - }, - { - "test": "test_kmem_kzalloc", - "case": "kzalloc_test", - "unit": "posix_kmem", - "test_level": 0 - }, - { - "test": "test_kmem_virtual_alloc", - "case": "virtual_alloc", - "unit": "posix_kmem", - "test_level": 0 - }, - { - "test": "test_ilog2", - "case": "integer_log2", - "unit": "posix_log2", - "test_level": 0 - }, - { - "test": "test_roundup_powoftwo", - "case": "roundup_pow2", - "unit": "posix_log2", - "test_level": 0 - }, - { - "test": "test_rounddown_powoftwo", - "case": "rounddown_pow2", - "unit": "posix_log2", - "test_level": 0 - }, - { - "test": "test_ispow2", - "case": "is_powof2", - "unit": "posix_log2", - "test_level": 0 - }, - { - "test": "test_readl", - "case": "bar1_readl", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_writel", - "case": "bar1_writel", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_readl", - "case": "readl", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_readl", - "case": "readl_impl", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_register_io_callbacks", - "case": "register_io_callbacks", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_register_space", - "case": "test_register_space", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_writel", - "case": "usermode_writel", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_writel", - "case": "writel", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_writel", - "case": "writel_check", - "unit": "posix_mockio", - "test_level": 0 - }, - { - "test": "test_current_pid", - "case": "current_pid", - "unit": "posix_ossched", - "test_level": 0 - }, - { - "test": "test_current_tid", - "case": "current_tid", - "unit": "posix_ossched", - "test_level": 0 - }, - { - "test": "test_print_current", - "case": "print_current", - "unit": "posix_ossched", - "test_level": 0 - }, - { - "test": "test_rwsem_init", - "case": "init", - "unit": "posix_rwsem", - "test_level": 0 - }, - { - "test": "test_rwsem_read", - "case": "read", - "unit": "posix_rwsem", - "test_level": 0 - }, - { - "test": "test_rwsem_write", - "case": "write", - "unit": "posix_rwsem", - "test_level": 0 - }, - { - "test": "test_rwsem_write_read", - "case": "write_read", - "unit": "posix_rwsem", - "test_level": 0 - }, - { - "test": "test_size_defines", - "case": "size_defines", - "unit": "posix_sizes", - "test_level": 0 - }, - { - "test": "test_thread_cycle", - "case": "create", - "unit": "posix_thread", - "test_level": 0 - }, - { - "test": "test_thread_cycle", - "case": "create_priority", - "unit": "posix_thread", - "test_level": 0 - }, - { - "test": "test_thread_cycle", - "case": "cycle", - "unit": "posix_thread", - "test_level": 0 - }, - { - "test": "test_thread_cycle", - "case": "stop_graceful", - "unit": "posix_thread", - "test_level": 0 - }, - { - "test": "test_timer_compare", - "case": "compare", - "unit": "posix_timers", - "test_level": 0 - }, - { - "test": "test_timer_counter", - "case": "counter", - "unit": "posix_timers", - "test_level": 0 - }, - { - "test": "test_timer_delay", - "case": "delay", - "unit": "posix_timers", - "test_level": 0 - }, - { - "test": "test_timer_duration", - "case": "duration", - "unit": "posix_timers", - "test_level": 0 - }, - { - "test": "test_timer_init", - "case": "init", - "unit": "posix_timers", - "test_level": 0 - }, - { - "test": "test_timer_init_err", - "case": "init_err", - "unit": "posix_timers", - "test_level": 0 - }, - { - "test": "test_timer_msleep", - "case": "msleep", - "unit": "posix_timers", - "test_level": 0 - }, - { - "test": "test_free_env", - "case": "ptimer_free_env", - "unit": "ptimer", - "test_level": 0 - }, - { - "test": "test_ptimer_isr", - "case": "ptimer_isr", - "unit": "ptimer", - "test_level": 0 - }, - { - "test": "test_read_ptimer", - "case": "ptimer_read_ptimer", - "unit": "ptimer", - "test_level": 0 - }, - { - "test": "test_ptimer_scaling", - "case": "ptimer_scaling", - "unit": "ptimer", - "test_level": 0 - }, - { - "test": "test_setup_env", - "case": "ptimer_setup_env", - "unit": "ptimer", - "test_level": 0 - }, - { - "test": "test_mem_is_word_aligned", - "case": "mem_is_word_aligned", - "unit": "string", - "test_level": 0 - }, - { - "test": "test_memcpy_memcmp", - "case": "memcpy_memcmp", - "unit": "string", - "test_level": 0 - }, - { - "test": "test_strnadd_u32", - "case": "strnadd_u32", - "unit": "string", - "test_level": 0 - }, - { - "test": "test_gv11b_elcg_init_idle_filters", - "case": "gv11b_elcg_init_idle_filters", - "unit": "therm", - "test_level": 0 - }, - { - "test": "test_gv11b_therm_init_elcg_mode", - "case": "gv11b_therm_init_elcg_mode", - "unit": "therm", - "test_level": 0 - }, - { - "test": "test_free_env", - "case": "therm_free_env", - "unit": "therm", - "test_level": 0 - }, - { - "test": "test_therm_init_support", - "case": "therm_init_support", - "unit": "therm", - "test_level": 0 - }, - { - "test": "test_setup_env", - "case": "therm_setup_env", - "unit": "therm", - "test_level": 0 - }, - { - "test": "test_gk20a_ramin_alloc_size", - "case": "alloc_size", - "unit": "ramin_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gk20a_ramin_base_shift", - "case": "base_shift", - "unit": "ramin_gk20a_fusa", - "test_level": 0 - }, - { - "test": "test_gm20b_ramin_set_big_page_size", - "case": "set_big_page_size", - "unit": "ramin_gm20b_fusa", - "test_level": 0 - }, - { - "test": "test_gp10b_ramin_init_pdb", - "case": "init_pdb", - "unit": "ramin_gp10b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_ramin_init_subctx_pdb", - "case": "init_subctx_pdb", - "unit": "ramin_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_ramin_set_eng_method_buffer", - "case": "set_eng_method_buf", - "unit": "ramin_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_gv11b_ramin_set_gr_ptr", - "case": "set_gr_ptr", - "unit": "ramin_gv11b_fusa", - "test_level": 0 - }, - { - "test": "test_device_info_parse_data", - "case": "top_device_info_parse_data", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_device_info_parse_enum", - "case": "top_device_info_parse_enum", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_top_free_reg_space", - "case": "top_free_reg_space", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_device_info", - "case": "top_get_device_info", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_max_fbps_count", - "case": "top_get_max_fbps_count", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_max_gpc_count", - "case": "top_get_max_gpc_count", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_max_ltc_per_fbp", - "case": "top_get_max_ltc_per_fbp", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_max_lts_per_ltc", - "case": "top_get_max_lts_per_ltc", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_max_tpc_per_gpc_count", - "case": "top_get_max_tpc_per_gpc_count", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_num_engine_type_entries", - "case": "top_get_num_engine_type_entries", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_num_lce", - "case": "top_get_num_lce", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_get_num_ltcs", - "case": "top_get_num_ltcs", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_is_engine_ce", - "case": "top_is_engine_ce", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_is_engine_gr", - "case": "top_is_engine_gr", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_top_setup", - "case": "top_setup", - "unit": "top", - "test_level": 0 - }, - { - "test": "test_batch", - "case": "batch", - "unit": "vm", - "test_level": 0 - }, - { - "test": "test_init_error_paths", - "case": "init_error_paths", - "unit": "vm", - "test_level": 0 - }, - { - "case": "map_buf", - "vc": "V5", - "uid": "6434840", - "req": "NVGPU-RQCD-45.C1", - "test": "test_map_buf", - "test_level": 0, - "unit": "vm" - }, - { - "case": "map_buf_gpu_va", - "vc": "V5", - "uid": "6434840", - "req": "NVGPU-RQCD-45.C2", - "test": "test_map_buf_gpu_va", - "test_level": 0, - "unit": "vm" - }, - { - "test": "test_map_buffer_error_cases", - "case": "map_buffer_error_cases", - "unit": "vm", - "test_level": 0 - }, - { - "test": "test_nvgpu_vm_alloc_va", - "case": "nvgpu_vm_alloc_va", - "unit": "vm", - "test_level": 0 - }, - { - "test": "test_vm_area_error_cases", - "case": "vm_area_error_cases", - "unit": "vm", - "test_level": 0 - }, - { - "test": "test_vm_aspace_id", - "case": "vm_aspace_id", - "unit": "vm", - "test_level": 0 - }, - { - "test": "test_vm_bind", - "case": "vm_bind", - "unit": "vm", - "test_level": 0 - }, - { - "test": "test_ecc_init_support", - "case": "ecc_init_support", - "unit": "ecc", - "test_level": 0 - }, - { - "test": "test_ecc_finalize_support", - "case": "ecc_finalize_support", - "unit": "ecc", - "test_level": 0 - }, - { - "test": "test_ecc_counter_init", - "case": "ecc_counter_init", - "unit": "ecc", - "test_level": 0 - }, - { - "test": "test_ecc_free", - "case": "ecc_free", - "unit": "ecc", - "test_level": 0 - }, - { - "test": "test_branches", - "case": "branches", - "unit": "worker", - "test_level": 0 - }, - { - "test": "test_deinit", - "case": "deinit", - "unit": "worker", - "test_level": 0 - }, - { - "test": "test_enqueue", - "case": "enqueue", - "unit": "worker", - "test_level": 0 - }, - { - "test": "test_init", - "case": "init", - "unit": "worker", - "test_level": 0 - }, - { - "test": "test_arithmetic", - "case": "arithmetic", - "unit": "static_analysis", - "test_level": 0 - }, - { - "test": "test_cast", - "case": "cast", - "unit": "static_analysis", - "test_level": 0 - }, - { - "test": "test_sync_init", - "case": "sync_init", - "unit": "nvgpu-sync", - "test_level": 0 - }, - { - "test": "test_sync_deinit", - "case": "sync_deinit", - "unit": "nvgpu-sync", - "test_level": 0 - }, - { - "test": "test_sync_create_destroy_sync", - "case": "sync_create_destroy", - "unit": "nvgpu-sync", - "test_level": 0 - }, - { - "test": "test_sync_set_safe_state", - "case": "sync_set_safe_state", - "unit": "nvgpu-sync", - "test_level": 0 - }, - { - "test": "test_sync_usermanaged_syncpoint_apis", - "case": "sync_user_managed_apis", - "unit": "nvgpu-sync", - "test_level": 0 - }, - { - "test": "test_sync_get_ro_map", - "case": "sync_get_ro_map", - "unit": "nvgpu-sync", - "test_level": 0 - }, - { - "test": "test_sync_create_fail", - "case": "sync_fail", - "unit": "nvgpu-sync", - "test_level": 0 - }, - { - "test": "test_writel_check", - "case": "writel_check", - "unit": "io", - "test_level": 0 - } -] diff --git a/userspace/src/args.c b/userspace/src/args.c index d9e126fe6..d71ce651e 100644 --- a/userspace/src/args.c +++ b/userspace/src/args.c @@ -40,10 +40,11 @@ static struct option core_opts[] = { { "num-threads", 1, NULL, 'j' }, { "test-level", 1, NULL, 't' }, { "debug", 0, NULL, 'd' }, + { "required", 0, NULL, 'r' }, { NULL, 0, NULL, 0 } }; -static const char *core_opts_str = "hvqCnQL:j:t:d"; +static const char *core_opts_str = "hvqCnQL:j:t:dr:"; void core_print_help(struct unit_fw *fw) { @@ -74,6 +75,8 @@ void core_print_help(struct unit_fw *fw) " Test plan level. 0=L0, 1=L1. default: 1\n", " -d, --debug Disable signal handling to facilitate debug of", " crashes.\n", +" -r, --required Path to a file with a list of required tests to\n" +" check if all were executed.\n", "\n", "Note: mandatory arguments to long arguments are mandatory for short\n", "arguments as well.\n", @@ -92,6 +95,7 @@ static void set_arg_defaults(struct unit_fw_args *args) args->unit_load_path = DEFAULT_ARG_UNIT_LOAD_PATH; args->thread_count = 1; args->test_lvl = TEST_PLAN_MAX; + args->required_tests_file = NULL; } /* @@ -166,6 +170,9 @@ int core_parse_args(struct unit_fw *fw, int argc, char **argv) case 'd': args->debug = true; break; + case 'r': + args->required_tests_file = optarg; + break; case '?': args->help = true; return -1; diff --git a/userspace/src/required_tests.c b/userspace/src/required_tests.c new file mode 100644 index 000000000..2615ab105 --- /dev/null +++ b/userspace/src/required_tests.c @@ -0,0 +1,333 @@ +/* + * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct test_list_node { + char *test_subtest_name; + long test_level; + struct nvgpu_list_node list; +}; +struct unit_list_node { + char *unit_name; + struct nvgpu_list_node test_list_head; + struct nvgpu_list_node list; +}; + +static struct nvgpu_list_node unit_list_head; + +static inline struct test_list_node * +test_list_node_from_list(struct nvgpu_list_node *node) +{ + return (struct test_list_node *) + ((uintptr_t)node - offsetof(struct test_list_node, list)); +}; +static inline struct unit_list_node * +unit_list_node_from_list(struct nvgpu_list_node *node) +{ + return (struct unit_list_node *) + ((uintptr_t)node - offsetof(struct unit_list_node, list)); +}; + +/* + * Add a unit in the list of units. The node will hold the name of the unit and + * another list of tests. + */ +static struct unit_list_node *add_unit(struct nvgpu_list_node *head, + const char *unit_name) +{ + struct unit_list_node *node = malloc(sizeof(struct unit_list_node)); + + if (node == NULL) { + return NULL; + } + + node->unit_name = malloc(strlen(unit_name)+1); + if (node->unit_name == NULL) { + free(node); + return NULL; + } + + strcpy(node->unit_name, unit_name); + nvgpu_init_list_node(&node->test_list_head); + nvgpu_list_add(&node->list, head); + + return node; +} + +/* + * From a unit list node, add a test_subtest string along with its test level. + */ +static struct test_list_node *add_test_subtest_level( + struct unit_list_node *unit, const char *test_subtest_name, long level) +{ + struct test_list_node *node = malloc(sizeof(struct test_list_node)); + + if (node == NULL) { + return NULL; + } + + node->test_level = level; + node->test_subtest_name = malloc(strlen(test_subtest_name)+1); + if (node->test_subtest_name == NULL) { + free(node); + return NULL; + } + + strcpy(node->test_subtest_name, test_subtest_name); + + nvgpu_list_add(&node->list, &unit->test_list_head); + + return node; +} + +/* + * Simple helper to sanitize the input and remove un-needed characters. + */ +static void sanitize(char *dest, const char *src) +{ + char *dest_start = dest; + + if (dest == NULL || src == NULL) + return; + + /* Trim leading spaces */ + while (*src == ' ' || *src == '\t') + src++; + + /* Copy the rest of the string */ + while (*src != '\0') { + if (*src == '#') { + /* Rest of the line is a comment, discard it */ + break; + } + *dest++ = *src++; + } + *dest = '\0'; + + /* Backtrack to remove line returns and trim spaces at the end */ + while (dest_start <= dest) { + if ((*dest == '\0') || (*dest == '\r') || (*dest == '\n') + || (*dest == ' ')) { + *dest = '\0'; + } else { + return; + } + dest--; + } +} + +/* Parse a sting looking for a long number, along with error handling. */ +static bool parse_long(const char *str, long *val) +{ + char *tmp; + bool result = true; + errno = 0; + *val = strtol(str, &tmp, 10); + + if (tmp == str || *tmp != '\0' || + ((*val == LONG_MIN || *val == LONG_MAX) && errno == ERANGE)) { + result = false; + } + + return result; +} + +/* + * Load the INI file that contains the list of required tests. This manages a + * list of units, and each unit node has a list of test cases. + */ +int parse_req_file(struct unit_fw *fw, const char *ini_file) +{ + char rawline[MAX_LINE_SIZE]; + char line[MAX_LINE_SIZE]; + char tmp[MAX_LINE_SIZE]; + char *open_bracket, *close_bracket, *equal; + long value, len; + struct unit_list_node *current_unit = NULL; + FILE *file = fopen(ini_file, "r"); + + if (file == NULL) { + perror("Error reading INI file: "); + return -1; + } + + nvgpu_init_list_node(&unit_list_head); + + while (fgets(rawline, sizeof(rawline), file)) { + line[0] = '\0'; + tmp[0] = '\0'; + sanitize(line, rawline); + if (strlen(line) == 0) { + continue; + } + open_bracket = strchr(line, '['); + close_bracket = strchr(line, ']'); + equal = strchr(line, '='); + + if (equal != NULL) { + /* This is a key/value pair */ + if (current_unit == NULL) { + continue; + } + strncpy(tmp, line, (equal-line)); + tmp[equal-line] = '\0'; + if (!parse_long(equal+1, &value)) { + core_err(fw, "Conversion error:\n%s\n", + rawline); + return -1; + } + if (add_test_subtest_level(current_unit, tmp, value) + == NULL) { + return -ENOMEM; + } + } else if ((open_bracket != NULL) && (close_bracket != NULL)) { + /* This is a section */ + if (open_bracket++ > close_bracket) { + continue; + } + len = close_bracket-open_bracket; + strncpy(tmp, open_bracket, len); + tmp[len] = '\0'; + current_unit = add_unit(&unit_list_head, tmp); + if (current_unit == NULL) { + return -ENOMEM; + } + } else { + /* Unknown line or syntax error */ + core_err(fw, "Syntax error parsing:\n%s\n", rawline); + return -1; + } + } + + fclose(file); + + return 0; +} + +/* + * Helper that takes a test function name and a subcase name, combines them to + * be in the same format as the INI file, and compare the result to a given + * string. Returns true if it matches. + */ +static bool cmp_test_name(const char *exec_fn_name, const char* exec_case_name, + const char *ini_test_subtest_name) +{ + char exec_test_subtest_name[MAX_LINE_SIZE]; + + exec_test_subtest_name[0] = '\0'; + strcat(exec_test_subtest_name, exec_fn_name); + strcat(exec_test_subtest_name, "."); + strcat(exec_test_subtest_name, exec_case_name); + + if (strcmp(ini_test_subtest_name, exec_test_subtest_name) == 0) { + return true; + } + + return false; +} + +/* + * Check the tests that were executed and compare them to the list of tests + * from the INI file. This only check passing tests; if there are failed tests, + * the failure will be handled somewhere else, and skipped tests are handled by + * the test level in the INI file. + * Returns the number of required tests that were not executed. + */ +int check_executed_tests(struct unit_fw *fw) +{ + struct unit_test_record *rec; + struct unit_list_node *unit_node, *found_unit_node = NULL; + struct test_list_node *test_node, *found_test_node = NULL; + struct unit_test_list *passing_tests = &fw->results->passing; + int missing_count = 0; + + for_record_in_test_list(passing_tests, rec) { + found_unit_node = NULL; + found_test_node = NULL; + /* Search for the unit name */ + nvgpu_list_for_each_entry(unit_node, &unit_list_head, + unit_list_node, list) { + if (strcmp(unit_node->unit_name, rec->mod->name) != 0) { + continue; + } + + found_unit_node = unit_node; + /* Search for the fn_name.case_name */ + nvgpu_list_for_each_entry(test_node, + &unit_node->test_list_head, + test_list_node, list) { + if (cmp_test_name(rec->test->fn_name, + rec->test->case_name, + test_node->test_subtest_name)) { + found_test_node = test_node; + break; + } + } + break; + } + + if (found_test_node == NULL) { + /* Test should be added to the INI file */ + core_err(fw, + "Test not in required tests: [%s] %s.%s\n", + rec->mod->name, rec->test->fn_name, + rec->test->case_name); + } else { + /* Found it, remove it from the list. */ + nvgpu_list_del(&found_test_node->list); + if (nvgpu_list_empty( + &found_unit_node->test_list_head)) { + /* No more tests, remove the unit itself */ + nvgpu_list_del(&found_unit_node->list); + } + } + } + + /* + * Now that all the executed tests were removed from the list, any test + * that is leftover is a required test that was not executed. + */ + nvgpu_list_for_each_entry(unit_node, &unit_list_head, unit_list_node, + list) { + nvgpu_list_for_each_entry(test_node, &unit_node->test_list_head, + test_list_node, list) { + if (test_node->test_level <= fw->args->test_lvl) { + core_err(fw, "Required test not run: [%s] %s\n", + unit_node->unit_name, + test_node->test_subtest_name); + missing_count++; + } + } + } + + return missing_count; +} + diff --git a/userspace/src/unit_main.c b/userspace/src/unit_main.c index 4cedae4cd..12290d339 100644 --- a/userspace/src/unit_main.c +++ b/userspace/src/unit_main.c @@ -32,6 +32,7 @@ #include #include #include +#include int main(int argc, char **argv) { @@ -91,5 +92,22 @@ int main(int argc, char **argv) return -2; } + if (fw->args->required_tests_file != NULL) { + ret = parse_req_file(fw, fw->args->required_tests_file); + if (ret != 0) { + core_err(fw, + "Failed to load the required tests file.\n"); + return -1; + } + + ret = check_executed_tests(fw); + if (ret != 0) { + core_err(fw, + "Found %d required tests that were not run!\n", + ret); + return -1; + } + } + return 0; } diff --git a/userspace/unit.sh b/userspace/unit.sh index f7c706ee6..24468af72 100755 --- a/userspace/unit.sh +++ b/userspace/unit.sh @@ -46,7 +46,7 @@ else # running on host LD_LIBRARY_PATH="build:build/units" # On host, must run single-threaded to avoid high VAs - NVGPU_UNIT="./build/nvgpu_unit --num-threads 1" + NVGPU_UNIT="./build/nvgpu_unit --num-threads 1 -r required_tests.ini" fi export LD_LIBRARY_PATH @@ -70,10 +70,6 @@ if [ $rc -eq "0" ]; then esac shift done - echo $testlevelparam - echo "Checking executed tests against list of required tests:" - ./testlist.py --html $testlevelparam - rc=$? fi popd exit $rc