Pierre Ossman <drzeus-list@xxxxxxxxx> wrote: > I am a bit concerned about the problems with mmc_test you mentioned > though. Have you sent any info about those previously? No, I don't think I have. Here are the results from one of my cards: sh-3.2# echo > /sys/class/mmc_host/mmc0/mmc0\:b368/test mmc0: Starting tests of card mmc0:b368... mmc0: Test case 1. Basic write (no data verification)... mmc0: Result: OK mmc0: Test case 2. Basic read (no data verification)... mmc0: Result: OK mmc0: Test case 3. Basic write (with data verification)... mmc0: Result: OK mmc0: Test case 4. Basic read (with data verification)... mmc0: Result: OK mmc0: Test case 5. Multi-block write... mmc0: Warning: Host did not wait for busy state to end. mmc0: Result: OK mmc0: Test case 6. Multi-block read... mmc0: Result: OK mmc0: Test case 7. Power of two block writes... mmc0: Result: UNSUPPORTED (by card) mmc0: Test case 8. Power of two block reads... mmc0: Result: OK mmc0: Test case 9. Weird sized block writes... mmc0: Result: UNSUPPORTED (by card) mmc0: Test case 10. Weird sized block reads... mmc0: Result: OK mmc0: Test case 11. Badly aligned write... mmc0: Result: OK mmc0: Test case 12. Badly aligned read... mmc0: Result: OK mmc0: Test case 13. Badly aligned multi-block write... mmc0: Warning: Host did not wait for busy state to end. mmc0: Warning: Host did not wait for busy state to end. mmc0: Result: OK mmc0: Test case 14. Badly aligned multi-block read... mmc0: Result: OK mmc0: Test case 15. Correct xfer_size at write (start failure)... mmc0: Result: ERROR (-84) mmc0: Test case 16. Correct xfer_size at read (start failure)... mmc0: Result: OK mmc0: Test case 17. Correct xfer_size at write (midway failure)... mmc0: Result: ERROR (-84) mmc0: Test case 18. Correct xfer_size at read (midway failure)... mmc0: Result: OK mmc0: Tests completed. Tests 7 and 9 are not supported by the card, so I can't do much about it except go through all the cards I have available and see if one of them supports this test. Tests 15 and 17 return -EILSEQ instead of -ETIMEDOUT. The at91_mci driver has the same problem, and I think it's a hardware issue -- the controller wrongly flags a CRC error instead of a data timeout error if the card doesn't respond with any CRC status after a write. I don't know how to work around that problem. Of course, I could cheat and return -ETIMEDOUT on CRC errors. That would make the driver pass the tests, right? ;-) The test results are the same regardless of whether DMA is used or not, but short and/or difficult transfers are always done in PIO mode. Haavard -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html