Re: [Zaurus-devel] cf speed evolution

2010-09-26 Thread Stanislav Brabec
kirill wrote:
 Hi!
 
 Recently I've upgraded internal cf on my c3000. So now I have a better idea 
 of what
 cf storage performance you can get with c3000 hardwire.
 
 Benchmark results (2.6.19 kernel, dd if=/dev/hda of=/dev/null):

 1) unmodified kernel: ~ 2MB/sec
 2) optimized timings, 250ns io cycle: ~ 3MB/sec

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.

 3) optimized timings, DMA patch, 250ns io cycle: ~ 4MB/sec
 4) optimized timings, DMA patch, 120ns io cycle: ~ 5.5MB/sec
 5) optimized timings, DMA patch, 120ns io cycle, different cf card: ~ 
 6.3MB/sec

 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?

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.

[1] 
http://www.penguin.cz/~utx/zaurus/datasheets/CPU/Intel%20PXA27x%20Processor%20Family%20Developer's%20Manual.pdf
page 15-1

-- 


Stanislav Brabec
http://www.penguin.cz/~utx/zaurus


___
Zaurus-devel mailing list
Zaurus-devel@lists.linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/zaurus-devel


Re: [Zaurus-devel] cf speed evolution

2010-09-26 Thread kirill


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:
http://www.mail-archive.com/linux-pcm...@lists.infradead.org/msg00514.html
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
Zaurus-devel@lists.linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/zaurus-devel


[Zaurus-devel] cf speed evolution

2010-09-21 Thread kirill
Hi!

Recently I've upgraded internal cf on my c3000. So now I have a better idea of 
what
cf storage performance you can get with c3000 hardwire.

Benchmark results (2.6.19 kernel, dd if=/dev/hda of=/dev/null):
1) unmodified kernel: ~ 2MB/sec
2) optimized timings, 250ns io cycle: ~ 3MB/sec
3) optimized timings, DMA patch, 250ns io cycle: ~ 4MB/sec
4) optimized timings, DMA patch, 120ns io cycle: ~ 5.5MB/sec
5) optimized timings, DMA patch, 120ns io cycle, different cf card: ~ 6.3MB/sec

optimized timings = Changes I described in pxa pcmcia timings thread.
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.

___
Zaurus-devel mailing list
Zaurus-devel@lists.linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/zaurus-devel