From: Joerg Pommnitz <pommnitz@yahoo.com>
To: linux-kernel@vger.kernel.org
Subject: Urgent help needed: CardBus iomem allocation problem with 6 CardBus slots
Date: Fri, 29 Apr 2005 16:21:15 +0200 (CEST) [thread overview]
Message-ID: <20050429142116.93850.qmail@web51405.mail.yahoo.com> (raw)
Hi List,
I try to get three devices to work in 6 CardBus (three adapters with 2
slots each) slots. The problem is, that it seems that Linux by default
fails to evenly distribute the available IO memory to the individual
slots. Here is what cat /proc/iomem says without a card plugged in:
00000000-0009efff : System RAM
0009f000-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000cbfff : Video ROM
000de000-000defff : 0000:00:14.0
000de000-000defff : ohci_hcd
000f0000-000fffff : System ROM
00100000-1fffffff : System RAM
00100000-00307306 : Kernel code
00307307-003ca37f : Kernel data
20000000-27ffffff : 0000:00:00.0
f4000000-f4003fff : 0000:00:09.0
f4004000-f4004fff : 0000:00:0a.0
f4004000-f4004fff : e100
f4005000-f4005fff : 0000:00:0b.0
f4005000-f4005fff : e100
f4007000-f40077ff : 0000:00:09.0
f4007000-f40077ff : ohci1394
f4100000-f41fffff : 0000:00:0a.0
f4100000-f41fffff : e100
f4200000-f42fffff : 0000:00:0b.0
f4200000-f42fffff : e100
f4300000-f45fffff : PCI Bus #02
f4300000-f4300fff : 0000:02:0d.0
f4300000-f4300fff : yenta_socket
f4301000-f4301fff : 0000:02:0d.1
f4301000-f4301fff : yenta_socket
f4302000-f4302fff : 0000:02:0e.0
f4302000-f4302fff : yenta_socket
f4303000-f4303fff : 0000:02:0e.1
f4303000-f4303fff : yenta_socket
f4304000-f4304fff : 0000:02:0f.0
f4304000-f4304fff : yenta_socket
f4305000-f4305fff : 0000:02:0f.1
f4305000-f4305fff : yenta_socket
f4308000-f430ffff : PCI CardBus #0f
f4310000-f431ffff : PCI CardBus #0f
f4320000-f433ffff : PCI CardBus #0b
f4340000-f437ffff : PCI CardBus #03
f4380000-f43bffff : PCI CardBus #07
f43c0000-f43fffff : PCI CardBus #07
f4400000-f44fffff : PCI CardBus #03
f4500000-f45fffff : PCI CardBus #0b
f8000000-fbffffff : PCI Bus #01
f8000000-fbffffff : 0000:01:00.0
f8200000-f89fffff : vesafb
fffe0000-ffffffff : reserved
If I insert one of my target cards into slot 0 I get:
f4308000-f430ffff : PCI CardBus #0f
f4310000-f431ffff : PCI CardBus #0f
f4320000-f433ffff : PCI CardBus #0b
f4340000-f437ffff : PCI CardBus #03
f4340000-f434ffff : 0000:03:00.0
f4350000-f435ffff : 0000:03:00.0
f4360000-f4360fff : 0000:03:00.1
f4360000-f4360fff : ohci_hcd
f4380000-f43bffff : PCI CardBus #07
f43c0000-f43fffff : PCI CardBus #07
f4400000-f44fffff : PCI CardBus #03
f4500000-f45fffff : PCI CardBus #0b
As you can see, the card allocates 3 memory ranges from the memory
assigned to the slot. In this slot (with 256K memory), the card works
fine.
Trying slot 1:
f4308000-f430ffff : PCI CardBus #0f
f4310000-f431ffff : PCI CardBus #0f
f4320000-f433ffff : PCI CardBus #0b
f4340000-f437ffff : PCI CardBus #03
f4380000-f43bffff : PCI CardBus #07
f43c0000-f43fffff : PCI CardBus #07
f43c0000-f43cffff : 0000:07:00.0
f43d0000-f43dffff : 0000:07:00.0
f43e0000-f43e0fff : 0000:07:00.1
f43e0000-f43e0fff : ohci_hcd
f4400000-f44fffff : PCI CardBus #03
f4500000-f45fffff : PCI CardBus #0b
Fine as well with 256K IO memory.
Now slot 2:
f4308000-f430ffff : PCI CardBus #0f
f4310000-f431ffff : PCI CardBus #0f
f4320000-f433ffff : PCI CardBus #0b
f4320000-f432ffff : 0000:0b:00.0
f4330000-f433ffff : 0000:0b:00.0
f4340000-f437ffff : PCI CardBus #03
f4380000-f43bffff : PCI CardBus #07
f43c0000-f43fffff : PCI CardBus #07
f4400000-f44fffff : PCI CardBus #03
f4500000-f45fffff : PCI CardBus #0b
As you can see, only two of the allocations succeed, the usb hub on the
card fails. /var/log/messages contains the error message:
Apr 29 17:19:23 inova08 kernel: PCI: Failed to allocate mem resource
#0:1000@f4340000 for 0000:0b:00.1
Apr 29 17:19:23 inova08 kernel: PCI: Enabling device 0000:0b:00.1 (0000 ->
0002)
Apr 29 17:19:23 inova08 kernel: ohci_hcd: probe of 0000:0b:00.1 failed
with error -16
The system tries to allocate memory directly after the previous one, but
this address range (f4340000) is already allocated to a different socket.
The IO memory range allocated to socket 2 is only 128K. Why? What controls
these memory window sizes? How can I change them?
For completeness the result for socket 3:
f4308000-f430ffff : PCI CardBus #0f
f4308000-f4308fff : 0000:0f:00.1
f4308000-f4308fff : ohci_hcd
f4310000-f431ffff : PCI CardBus #0f
f4320000-f433ffff : PCI CardBus #0b
f4340000-f437ffff : PCI CardBus #03
f4380000-f43bffff : PCI CardBus #07
f43c0000-f43fffff : PCI CardBus #07
f4400000-f44fffff : PCI CardBus #03
f4500000-f45fffff : PCI CardBus #0b
Only one of the allocations succeeds. The usb host adpter on the card
works fine. The io memory window for this slot is 32K.
Thanks in advance
Joerg
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 250MB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
reply other threads:[~2005-04-29 14:23 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050429142116.93850.qmail@web51405.mail.yahoo.com \
--to=pommnitz@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®