Re: 2.6.24-rc4-mm1 and Very Slow PCMCIA Compact Flash

Andrew Morton
2007-12-07T23:03:21Z

On Fri, 07 Dec 2007 20:38:24 +0000
Zan Lynx <zlynx@acm.org> wrote:

> While I'm reporting problems I'll get this one out there.
>
> I normally use a USB-2 memory card reader but I also have a PCMCIA
> CompactFlash adapter that I use occasionally. During the MM series
> kernels 2.6.22 and 23 (I am pretty sure) this didn't work at all. I
> don't know about vanilla since I don't run that.
>
> Now with MM kernels 2.6.24 rc1-4 the PCMCIA adapter works again, but I
> only get read rates of 1.6 MB/s. When it used to work in 2.6.20 I got
> at least 16 MB/s. The card itself is capable of 30+ in the USB-2
> reader.
>
> It might be that it auto-configures for PIO-0. I have no idea why it
> does that.
>
> Another interesting thing is that doing a dd to or from the card brings
> the rest of the system to a nearly complete halt. Interrupt problem?

Are we talking about this?

Yenta: CardBus bridge found at 0000:02:04.0 [103c:006d]
PCI: Bus 3, cardbus bridge: 0000:02:04.0
IO window: 00003000-000030ff
IO window: 00003400-000034ff
PREFETCH window: 50000000-53ffffff
MEM window: e0400000-e07fffff
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:04.0, mfunc 0x01111d22, devctl 0x64
Yenta: ISA IRQ mask 0x0cf8, PCI irq 19
Socket status: 30000051
Yenta: Raising subordinate bus# of parent bus (#02) from #02 to #06
pcmcia: parent PCI bridge I/O window: 0x3000 - 0x7fff
pcmcia: parent PCI bridge Memory window: 0xe0100000 - 0xe17fffff
pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x57ffffff
Yenta: CardBus bridge found at 0000:02:04.1 [103c:006d]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:04.1, mfunc 0x01111d22, devctl 0x64
Yenta: ISA IRQ mask 0x0cf8, PCI irq 18
Socket status: 30000006
Yenta: Raising subordinate bus# of parent bus (#02) from #06 to #0a
pcmcia: parent PCI bridge I/O window: 0x3000 - 0x7fff
pcmcia: parent PCI bridge Memory window: 0xe0100000 - 0xe17fffff
pcmcia: parent PCI bridge Memory window: 0x50000000 - 0x57ffffff
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
cpuidle: using governor ladder
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
pccard: PCMCIA card inserted into slot 0
cs: memory probe 0x50000000-0x57ffffff: excluding 0x50000000-0x57ffffff
cs: memory probe 0xe0100000-0xe17fffff: excluding 0xe0100000-0xe026ffff 0xe03e0000-0xe082ffff 0xe0b10000-0xe10cffff
pcmcia: registering new device pcmcia0.0

> It might be that it auto-configures for PIO-0. I have no idea why it
> does that.
>
> Another interesting thing is that doing a dd to or from the card brings
> the rest of the system to a nearly complete halt. Interrupt problem?

Where are you seeing the evidence that it autoconfigures for PIO-0?