mmc: mmc_test: Extend "Badly aligned" tests for 8-byte alignment
The "Badly aligned" tests, test reading/writing with alignments of 1,2 and 3. SDHCI now has 64-bit ADMA which has 8-byte alignment, so extend the tests to test up to 7. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
3828ecaa1d
commit
3ee14bf79d
@ -33,6 +33,8 @@
|
|||||||
#define BUFFER_ORDER 2
|
#define BUFFER_ORDER 2
|
||||||
#define BUFFER_SIZE (PAGE_SIZE << BUFFER_ORDER)
|
#define BUFFER_SIZE (PAGE_SIZE << BUFFER_ORDER)
|
||||||
|
|
||||||
|
#define TEST_ALIGN_END 8
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Limit the test area size to the maximum MMC HC erase group size. Note that
|
* Limit the test area size to the maximum MMC HC erase group size. Note that
|
||||||
* the maximum SD allocation unit size is just 4MiB.
|
* the maximum SD allocation unit size is just 4MiB.
|
||||||
@ -1175,7 +1177,7 @@ static int mmc_test_align_write(struct mmc_test_card *test)
|
|||||||
int ret, i;
|
int ret, i;
|
||||||
struct scatterlist sg;
|
struct scatterlist sg;
|
||||||
|
|
||||||
for (i = 1;i < 4;i++) {
|
for (i = 1; i < TEST_ALIGN_END; i++) {
|
||||||
sg_init_one(&sg, test->buffer + i, 512);
|
sg_init_one(&sg, test->buffer + i, 512);
|
||||||
ret = mmc_test_transfer(test, &sg, 1, 0, 1, 512, 1);
|
ret = mmc_test_transfer(test, &sg, 1, 0, 1, 512, 1);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -1190,7 +1192,7 @@ static int mmc_test_align_read(struct mmc_test_card *test)
|
|||||||
int ret, i;
|
int ret, i;
|
||||||
struct scatterlist sg;
|
struct scatterlist sg;
|
||||||
|
|
||||||
for (i = 1;i < 4;i++) {
|
for (i = 1; i < TEST_ALIGN_END; i++) {
|
||||||
sg_init_one(&sg, test->buffer + i, 512);
|
sg_init_one(&sg, test->buffer + i, 512);
|
||||||
ret = mmc_test_transfer(test, &sg, 1, 0, 1, 512, 0);
|
ret = mmc_test_transfer(test, &sg, 1, 0, 1, 512, 0);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -1217,7 +1219,7 @@ static int mmc_test_align_multi_write(struct mmc_test_card *test)
|
|||||||
if (size < 1024)
|
if (size < 1024)
|
||||||
return RESULT_UNSUP_HOST;
|
return RESULT_UNSUP_HOST;
|
||||||
|
|
||||||
for (i = 1;i < 4;i++) {
|
for (i = 1; i < TEST_ALIGN_END; i++) {
|
||||||
sg_init_one(&sg, test->buffer + i, size);
|
sg_init_one(&sg, test->buffer + i, size);
|
||||||
ret = mmc_test_transfer(test, &sg, 1, 0, size/512, 512, 1);
|
ret = mmc_test_transfer(test, &sg, 1, 0, size/512, 512, 1);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -1244,7 +1246,7 @@ static int mmc_test_align_multi_read(struct mmc_test_card *test)
|
|||||||
if (size < 1024)
|
if (size < 1024)
|
||||||
return RESULT_UNSUP_HOST;
|
return RESULT_UNSUP_HOST;
|
||||||
|
|
||||||
for (i = 1;i < 4;i++) {
|
for (i = 1; i < TEST_ALIGN_END; i++) {
|
||||||
sg_init_one(&sg, test->buffer + i, size);
|
sg_init_one(&sg, test->buffer + i, size);
|
||||||
ret = mmc_test_transfer(test, &sg, 1, 0, size/512, 512, 0);
|
ret = mmc_test_transfer(test, &sg, 1, 0, size/512, 512, 0);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
Loading…
Reference in New Issue
Block a user