From cce488d87e33cfd90f3824ecd3c5bf30bae57206 Mon Sep 17 00:00:00 2001 From: Sagar Kamble Date: Fri, 25 Jun 2021 15:51:30 +0530 Subject: [PATCH] gpu: nvgpu: add BVEC tests for get_litter_value All legitimate litter types are tested. Add invalid parameter checks. JIRA NVGPU-6390 Change-Id: Ie0e82b045f1cbfe101d1de022236c38b4b9c208e Signed-off-by: Sagar Kamble Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2549908 (cherry picked from commit 14b1f04d8744776a8efc78e57c16538cf062c7dd) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2623627 Reviewed-by: svcacv Reviewed-by: Shashank Singh Reviewed-by: Vaibhav Kachore GVS: Gerrit_Virtual_Submit --- userspace/units/init/nvgpu-init.c | 15 +++++++++++---- userspace/units/init/nvgpu-init.h | 7 ++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/userspace/units/init/nvgpu-init.c b/userspace/units/init/nvgpu-init.c index 87f30cda1..130f2c1be 100644 --- a/userspace/units/init/nvgpu-init.c +++ b/userspace/units/init/nvgpu-init.c @@ -113,6 +113,11 @@ int init_test_free_env(struct unit_module *m, int test_get_litter_value(struct unit_module *m, struct gk20a *g, void *args) { + int invalid_litter_types[] = { + GPU_LIT_PERFMON_PMMGPC_ROP_DOMAIN_COUNT + 1, + GPU_LIT_PERFMON_PMMGPC_ROP_DOMAIN_COUNT + 2, INT_MAX}; + u32 i; + assert(gv11b_get_litter_value(g, GPU_LIT_NUM_GPCS) == proj_scal_litter_num_gpcs_v()); assert(gv11b_get_litter_value(g, GPU_LIT_NUM_PES_PER_GPC) == @@ -202,10 +207,12 @@ int test_get_litter_value(struct unit_module *m, 2); #endif - if (!EXPECT_BUG(gv11b_get_litter_value(g, U32_MAX))) { - unit_err(m, "%s: failed to detect INVALID value\n", - __func__); - goto fail; + for (i = 0; i < ARRAY_SIZE(invalid_litter_types); i++) { + if (!EXPECT_BUG(gv11b_get_litter_value(g, invalid_litter_types[i]))) { + unit_err(m, "%s: failed to detect invalid value %d\n", + __func__, invalid_litter_types[i]); + goto fail; + } } return UNIT_SUCCESS; diff --git a/userspace/units/init/nvgpu-init.h b/userspace/units/init/nvgpu-init.h index 65790a696..389f88301 100644 --- a/userspace/units/init/nvgpu-init.h +++ b/userspace/units/init/nvgpu-init.h @@ -74,12 +74,17 @@ int init_test_free_env(struct unit_module *m, * * Description: Validate gv11b_get_litter_value() * - * Test Type: Feature + * Test Type: Feature, Boundary Value * * Targets: gv11b_get_litter_value * * Input: None * + * Equivalence classes: + * Variable: value + * - Valid: {0 - 57} + * - Invalid: {58 - INT_MAX} + * * Steps: * - Call gv11b_get_litter_value() with all valid values and verify correct * return value.