Well, I tried your patch from the list on 2.6.26-RP.
I see 2.33 MB/sec -> 2.63MB/sec improvement on 6 years old 40x card.
In my experience, the speed in pcmcia mode is not related to card's maximum speed.

I don't think that 6 year old CF supports advanced timing mode.
You may check it with hdparm --Istdout /dev/hdX
word 164, bits 0-2 represent io timing capabilities. If it's zero,
the card supports 250ns cycle only.

120ns io cycle = CFA advanced I/O timing mode supported by the card.
DMA patch = ide-cs patch, which adds support for memory-to-memory style DMA to
transfer data from IDE data register to memory buffer.

Do you have a patch for these things?

I have DMA patch for 2.6.19. It's quite clean. I'll post it.
Some version of "PIODMA" patch you can find in the following thread:
Later I renamed it to VDMA and separated from ide driver.

Technically changing IO speed is very simple. You just need
to load value in MCIO reg. Unfortunately it's not that easy to do so with current pcmcia implementation.
1) soc_common stuff is not using IO cycle time to set IO speed,
it uses command assertion time instead
2) there's no pcmcia API to change the io speed
3) before setting up 120ns io cycle, drive identification should be read
to check card capabilities.

Well, I guess that also SD runs slower than it could. PXA270
datasheet[1] says, that it can run 9.75MB/sec on SD. I see 1.8MB/s.

It looks like 4-wire sd support was added in 2.6.29... Although I have not tried it.

Zaurus-devel mailing list

Reply via email to