Command Time-Out values in MMC
Hi,
while browsing the MMC driver sources I noticed that the CTO (Command
Time-Out) register is written a value 0xff in one place (exactly,
here: http://www.kernel.org/git/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;h=35708dbf9d8e0f41687caeb70e7dde3f216a86a9;hb=9ca18d5394c5e6b2c74ddc52abaed81df530ff1d;f=drivers/mmc/omap.c#l847),
while the OMAP5910 documentation (exactly, this document:
http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=325&abstractName=spru680)
states something like:
[...]0x01: One clock cycle0xFD: 253 clock cycles
The 0xFF and 0xFE cannot be used.
[...]
Is this intentional? It seems to cause no problems, but setting 0xfd instead also didn't break anything for me. Is this limit also mentioned in documentation for other OMAP boards?
(If this is intentional, please ignore me.)
Regards,
Andrzej Zaborowski
Quoted 13 lines · andrzej zaborowski
Hi,
while browsing the MMC driver sources I noticed that the CTO (Command
Time-Out) register is written a value0xffin one place (exactly,
here: http://www.kernel.org/git/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;h=35708dbf9d8e0f41687caeb70e7dde3f216a86a9;hb=9ca18d5394c5e6b2c74ddc52abaed81df530ff1d;f=drivers/mmc/omap.c#l847),
while the OMAP5910 documentation (exactly, this document:
http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=325&abstractName=spru680)
states something like:
[...]0x01: One clock cycle0xFD: 253 clock cycles
The0xFFand0xFEcannot be used.
[...]
Quoted 4 lines
Is this intentional? It seems to cause no problems, but setting
0xfdinstead also didn't break anything for me. Is this limit also mentioned in documentation for other OMAP boards?
(If this is intentional, please ignore me.)
As far as I remember we're not using the command timeout currently and it was expiring with some cards and causing false errors.
Basically some blocks on some cards take a really long time to write to. And if the command timeout expires before the card is done, we get a false error.
Tony
Quoted 3 lines · Tony Lindgren
As far as I remember we're not using the command timeout currently and it was expiring with some cards and causing false errors.
The value 0 could be used to disable timing out.
Andrzej Zaborowski
Quoted 6 lines · andrzej zaborowski
Quoted 3 lines · Tony Lindgren
As far as I remember we're not using the command timeout currently and it was expiring with some cards and causing false errors.
The value 0 could be used to disable timing out.
Using a reasonably long timeout and adding handling for it would probably be the best option.
Tony