mmc: mmc-test: add eMMC hardware reset test
MMC core provides a checking function that checks if the reset has happended. Add a test to use that function. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
Родитель
0f2016558e
Коммит
2311344c33
|
@ -2328,6 +2328,31 @@ static int mmc_test_profile_sglen_r_nonblock_perf(struct mmc_test_card *test)
|
||||||
return mmc_test_rw_multiple_sg_len(test, &test_data);
|
return mmc_test_rw_multiple_sg_len(test, &test_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* eMMC hardware reset.
|
||||||
|
*/
|
||||||
|
static int mmc_test_hw_reset(struct mmc_test_card *test)
|
||||||
|
{
|
||||||
|
struct mmc_card *card = test->card;
|
||||||
|
struct mmc_host *host = card->host;
|
||||||
|
int err;
|
||||||
|
|
||||||
|
err = mmc_hw_reset_check(host);
|
||||||
|
if (!err)
|
||||||
|
return RESULT_OK;
|
||||||
|
|
||||||
|
if (err == -ENOSYS)
|
||||||
|
return RESULT_FAIL;
|
||||||
|
|
||||||
|
if (err != -EOPNOTSUPP)
|
||||||
|
return err;
|
||||||
|
|
||||||
|
if (!mmc_can_reset(card))
|
||||||
|
return RESULT_UNSUP_CARD;
|
||||||
|
|
||||||
|
return RESULT_UNSUP_HOST;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct mmc_test_case mmc_test_cases[] = {
|
static const struct mmc_test_case mmc_test_cases[] = {
|
||||||
{
|
{
|
||||||
.name = "Basic write (no data verification)",
|
.name = "Basic write (no data verification)",
|
||||||
|
@ -2650,6 +2675,11 @@ static const struct mmc_test_case mmc_test_cases[] = {
|
||||||
.run = mmc_test_profile_sglen_r_nonblock_perf,
|
.run = mmc_test_profile_sglen_r_nonblock_perf,
|
||||||
.cleanup = mmc_test_area_cleanup,
|
.cleanup = mmc_test_area_cleanup,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
.name = "eMMC hardware reset",
|
||||||
|
.run = mmc_test_hw_reset,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static DEFINE_MUTEX(mmc_test_lock);
|
static DEFINE_MUTEX(mmc_test_lock);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче