Memory resource problems with CardBus
proski at gnu.org
Sat May 15 13:23:09 EDT 2004
Here's another system I cannot get a Prism54 based card to work on.
That's what I see in the kernel log:
PCI: Failed to allocate mem resource #0:2000 at ef010000 for 0000:0a:00.0
Loaded prism54 driver, version 1.2
PCI: Enabling device 0000:0a:00.0 (0000 -> 0002)
prism54: PCI device memory region not configured; fix your BIOS or CardBus
prism54: probe of 0000:0a:00.0 failed with error -5
The first message appears even when the prism54 module is missing. It has
nothing to do with the driver. The message comes from
pci_assign_resource(), drivers/pci/setup-res.c in Linux source.
As I understand, pci_assign_resource() requires size-aligned windows for
everything except bridge resources. The problem seems to be that a
non-bridge resource should be allocated inside a bridge resource that is
not size-aligned. Here's the relevant portion of /proc/iomem:
ef00c000-ef00cfff : 0000:00:0b.0
ef00c000-ef00cfff : yenta_socket
ef00d000-ef00efff : PCI CardBus #0a
ef00f000-ef010fff : PCI CardBus #0a
I don't see how an 8k (0x2000) size-aligned window can be allocated in
this configuration. It's interesting that lspci shows 4k long windows:
Memory window 0: ef00d000-ef00e000 (prefetchable)
Memory window 1: ef00f000-ef010000
Maybe 8k windows are too long and should be shortened to 4k? I don't see
where the window size comes from.
I put all additional information here:
The two-slot TI PCI1221 adapter doesn't work with CardBus cards, so I can
only use TI PCI1410. The motherboard is AOpen AK77 with VIA chipset.
Linux 2.6.6-bk2. prism54 from CVS.
More information about the linux-pcmcia