CompactFlash performance - pio5 and pio6 on TI1510 (no DMA)
Iain Barker
ibarker at aastra.com
Tue Nov 20 00:06:54 EST 2007
Hi,
I'm trying to find out if there is a way to speed up the CompactFlash on an
embedded ARM box.
System is running Linux 2.6.23, using yenta ide-cs and hdparm 7.7
With a SanDisk Extreme3 (20MB/s) capable card, I get less than 1MB/s
throughput.
The host adapter is TI-1510 PCI which is not DMA capable, so is restricted
to PIO modes. hdparm says the CF supports CFA extensions, so should be able
to use pio5 or pio6 (>20MB/s)
My guess is that yenta/ide-cs uses the legacy IDE code, not libata?
But shouldn't pio5 and 6 should be of the order 20x that speed?
Below are relevant kernel console and hdparm outputs.
Any ideas please?
thanks,
Iain
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PCI: enabling device 0000:00:00.0 (0146 -> 0147)
Yenta: CardBus bridge found at 0000:00:00.0 [0000:0000]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:00.0, mfunc 0x00001000, devctl 0x66
Yenta TI: socket 0000:00:00.0 probing PCI interrupt failed, trying to fix
Yenta TI: socket 0000:00:00.0 falling back to parallel PCI interrupts
Yenta TI: socket 0000:00:00.0 parallel PCI interrupts ok
Yenta: ISA IRQ mask 0x0000, PCI irq 39
Socket status: 30000810
pcmcia: parent PCI bridge I/O window: 0x2000 - 0xffff
pcmcia: parent PCI bridge Memory window: 0x30000000 - 0x40000000
Checking compact flash socket for media present
pccard: PCMCIA card inserted into slot 0
cs: memory probe 0x30000000-0x40000000: excluding 0x30000000-0x387fffff
0x40000000-0x407fffff
pcmcia: registering new device pcmcia0.0
hda: SanDisk SDCFX3-2048, CFA DISK drive
ide0 at 0x2100-0x2107,0x210e on irq 39
hda: max request size: 128KiB
hda: 4001760 sectors (2048 MB) w/1KiB Cache, CHS=3970/16/63
hda: hda1
# ./hdparm -I /dev/hda
/dev/hda:
CompactFlash ATA device, with removable media
Model Number: SanDisk SDCFX3-2048
Serial Number: 116905G2007W3303
Firmware Revision: HDX 4.03
Standards:
Likely used: 4
Configuration:
Logical max current
cylinders 3970 3970
heads 16 16
sectors/track 63 63
--
bytes/track: 0 bytes/sector: 576
CHS current addressable sectors: 4001760
LBA user addressable sectors: 4001760
device size with M = 1024*1024: 1953 MBytes
device size with M = 1000*1000: 2048 MBytes (2 GB)
Capabilities:
LBA, IORDY(may be)(cannot be disabled)
Buffer size: 1.0kB bytes avail on r/w long: 4
Standby timer values: spec'd by Vendor
R/W multiple sector transfer: Max = 4 Current = 4
DMA: not supported
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
Write cache
* CFA feature set
* CFA advanced modes: pio5 *pio6
# ./hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 4 MB in 4.36 seconds = 939.24 kB/sec
#
More information about the linux-pcmcia
mailing list