edac: ibecc: Refactor error inject code
Refactor code removing duplicated parts. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This commit is contained in:
parent
c493825ac1
commit
69ac4b29de
1 changed files with 14 additions and 24 deletions
|
@ -256,7 +256,7 @@ static int check_values(void *p1, void *p2, void *p3)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_ibecc_error_inject_test_cor(void)
|
static void ibecc_error_inject_test(uint64_t addr, uint64_t mask, uint64_t type)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -264,40 +264,30 @@ static void test_ibecc_error_inject_test_cor(void)
|
||||||
zassert_equal(ret, 0, "Error setting notification callback");
|
zassert_equal(ret, 0, "Error setting notification callback");
|
||||||
|
|
||||||
/* Test injecting correctable error at address TEST_ADDRESS1 */
|
/* Test injecting correctable error at address TEST_ADDRESS1 */
|
||||||
test_inject(TEST_ADDRESS1, TEST_ADDRESS_MASK, EDAC_ERROR_TYPE_DRAM_COR);
|
test_inject(addr, mask, type);
|
||||||
|
|
||||||
#if defined(CONFIG_USERSPACE)
|
#if defined(CONFIG_USERSPACE)
|
||||||
k_thread_user_mode_enter((k_thread_entry_t)check_values,
|
k_thread_user_mode_enter((k_thread_entry_t)check_values,
|
||||||
(void *)TEST_ADDRESS1,
|
(void *)addr,
|
||||||
(void *)EDAC_ERROR_TYPE_DRAM_COR,
|
(void *)type,
|
||||||
NULL);
|
NULL);
|
||||||
#else
|
#else
|
||||||
check_values((void *)TEST_ADDRESS1, (void *)EDAC_ERROR_TYPE_DRAM_COR,
|
check_values((void *)addr, (void *)type, NULL);
|
||||||
NULL);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_ibecc_error_inject_test_cor(void)
|
||||||
|
{
|
||||||
|
ibecc_error_inject_test(TEST_ADDRESS1, TEST_ADDRESS_MASK,
|
||||||
|
EDAC_ERROR_TYPE_DRAM_COR);
|
||||||
|
}
|
||||||
|
|
||||||
static void test_ibecc_error_inject_test_uc(void)
|
static void test_ibecc_error_inject_test_uc(void)
|
||||||
{
|
{
|
||||||
int ret;
|
ibecc_error_inject_test(TEST_ADDRESS2, TEST_ADDRESS_MASK,
|
||||||
|
EDAC_ERROR_TYPE_DRAM_UC);
|
||||||
ret = edac_notify_callback_set(dev, callback);
|
|
||||||
zassert_equal(ret, 0, "Error setting notification callback");
|
|
||||||
|
|
||||||
/* Test injecting uncorrectable error at address TEST_ADDRESS2 */
|
|
||||||
test_inject(TEST_ADDRESS2, TEST_ADDRESS_MASK, EDAC_ERROR_TYPE_DRAM_UC);
|
|
||||||
|
|
||||||
#if defined(CONFIG_USERSPACE)
|
|
||||||
k_thread_user_mode_enter((k_thread_entry_t)check_values,
|
|
||||||
(void *)TEST_ADDRESS2,
|
|
||||||
(void *)EDAC_ERROR_TYPE_DRAM_UC,
|
|
||||||
NULL);
|
|
||||||
#else
|
|
||||||
check_values((void *)TEST_ADDRESS2, (void *)EDAC_ERROR_TYPE_DRAM_UC,
|
|
||||||
NULL);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#else
|
#else /* CONFIG_EDAC_ERROR_INJECT */
|
||||||
static void test_ibecc_error_inject_test_cor(void)
|
static void test_ibecc_error_inject_test_cor(void)
|
||||||
{
|
{
|
||||||
ztest_test_skip();
|
ztest_test_skip();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue