mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: Add more test scenarios for ACR unit
Add more test scenarios for nvgpu_acr_bootstrap_hs_acr() and nvgpu_acr_construct_execute() to cover more branches and fail scenarios JIRA NVGPU-4319 Change-Id: Ifae3fdce87c4a42d0fbdb4dff25dfb10537f31d0 Signed-off-by: Divya Singhatwaria <dsinghatwari@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2238098 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Alex Waterman
parent
df68da0e66
commit
15c9355c69
@@ -55,7 +55,7 @@ int test_acr_init(struct unit_module *m, struct gk20a *g, void *args);
|
||||
/**
|
||||
* Test specification for: test_acr_prepare_ucode_blob
|
||||
*
|
||||
* Description: The test_acr_init shall test the blob creation of
|
||||
* Description: The test_acr_prepare_ucode_blob shall test the blob creation of
|
||||
* the ACR unit
|
||||
*
|
||||
* Test Type: Feature based
|
||||
@@ -80,8 +80,8 @@ int test_acr_prepare_ucode_blob(struct unit_module *m, struct gk20a *g,
|
||||
/**
|
||||
* Test specification for: test_acr_is_lsf_lazy_bootstrap
|
||||
*
|
||||
* Description: The test_acr_init shall test the lazy bootstrap of
|
||||
* the ACR unit
|
||||
* Description: The test_acr_is_lsf_lazy_bootstrap shall test the
|
||||
* lazy bootstrap of the ACR unit
|
||||
*
|
||||
* Test Type: Feature based
|
||||
*
|
||||
@@ -103,9 +103,68 @@ int test_acr_prepare_ucode_blob(struct unit_module *m, struct gk20a *g,
|
||||
|
||||
int test_acr_is_lsf_lazy_bootstrap(struct unit_module *m, struct gk20a *g,
|
||||
void *__args);
|
||||
/**
|
||||
* Test specification for: test_acr_construct_execute
|
||||
*
|
||||
* Description: The test_acr_construct_execute shall test the two main tasks of
|
||||
* the ACR unit:
|
||||
* 1. Blob construct of LS ucode in non-wpr memory
|
||||
* 2. ACR HS ucode load & bootstrap
|
||||
*
|
||||
* Test Type: Feature based
|
||||
*
|
||||
* Input: None
|
||||
*
|
||||
* Steps:
|
||||
* - Initialize the falcon test environment
|
||||
* - Set the flag NVGPU_SEC_SECUREGPCCS
|
||||
* - Allocate memory for GR
|
||||
* - Initialize the PMU
|
||||
* - Initialize the ACR unit
|
||||
* - Initialize the MMU
|
||||
* - Prepare SW and HW for GR
|
||||
* - Set the falcon_falcon_cpuctl_halt_intr_m bit for the
|
||||
* register falcon_falcon_cpuctl_r
|
||||
* - Call nvgpu_acr_construct_execute() via ACR sw ops.
|
||||
*
|
||||
* Output: Returns PASS if the steps above were executed successfully. FAIL
|
||||
* otherwise.
|
||||
*/
|
||||
|
||||
int test_acr_construct_execute(struct unit_module *m,
|
||||
struct gk20a *g, void *args);
|
||||
/**
|
||||
* Test specification for: test_acr_bootstrap_hs_acr
|
||||
*
|
||||
* Description: The test_acr_bootstrap_hs_acr shall test the ACR HS ucode load
|
||||
* & bootstrap functionality of the ACR unit
|
||||
*
|
||||
* Test Type: Feature based
|
||||
*
|
||||
* Input: None
|
||||
*
|
||||
* Steps:
|
||||
* - Initialize the falcon test environment
|
||||
* - Set the flag NVGPU_SEC_SECUREGPCCS
|
||||
* - Allocate memory for GR
|
||||
* - Initialize the PMU
|
||||
* - Initialize the ACR unit
|
||||
* - Initialize the MMU
|
||||
* - Prepare SW and HW for GR
|
||||
* - Set the falcon_falcon_cpuctl_halt_intr_m bit for the
|
||||
* register falcon_falcon_cpuctl_r
|
||||
* - Prepare the ucode blob
|
||||
* - Call nvgpu_acr_bootstrap_hs_acr() twice to cover recovery branch.
|
||||
* - Create fail/negative scenario of nvgpu_acr_bootstrap_hs_acr()
|
||||
by passing g->acr = NULL. nvgpu_acr_bootstrap_hs_acr() should fail.
|
||||
*
|
||||
* Output: Returns PASS if the steps above were executed successfully. FAIL
|
||||
* otherwise.
|
||||
*/
|
||||
|
||||
int test_acr_bootstrap_hs_acr(struct unit_module *m,
|
||||
struct gk20a *g, void *args);
|
||||
|
||||
/**
|
||||
* Test specification for: free_falcon_test_env
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user