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:
Adrian Hunter 2011-08-29 16:42:14 +03:00 коммит произвёл Chris Ball
Родитель 0f2016558e
Коммит 2311344c33
1 изменённых файлов: 30 добавлений и 0 удалений

Просмотреть файл

@ -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);