On Mon, 31 Jan 2011, Philip Rakity wrote: > The transcend mmc card does not have the PHYSICAL pins for 4 bit mode; only 1 bit can be supported. > > Testing the bus width is the recommend way to find out the bus width. The current behavior when the > QUIRK is not defined is to default to 4 bit mode (same as has been done historically). > > The only way to guarantee that cards really do work would be to default to 1 bit mode but this has a > 4x performance degradation. > > One possible solution would be to try to do a test read operation on the mmc card if the bus test failed > and see if there is an error. In this case change the bus width to 1 bit. > > a) Do you think this is a good idea? -- > b) How to plumb it in ? -- can you sketch something out and I will try to implement it. Sure. This is probably a good thing to attempt lowering the bus width on errors. In mmc_request_done() you could attempt switching to a narrower bus width and reattempt the failed command if that command was about some data transfer and the error was -ETIMEDOUT. Nicolas -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html