From: Felix Radensky <felix@embedded-sol.com>
To: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: linux-pci@vger.kernel.org, Alex Chiang <achiang@hp.com>,
"linuxppc-dev@ozlabs.org" <linuxppc-dev@ozlabs.org>
Subject: Re: Problem with PCI bus rescan on 460EX
Date: Tue, 16 Mar 2010 10:39:55 +0200 [thread overview]
Message-ID: <4B9F43DB.1060801@embedded-sol.com> (raw)
In-Reply-To: <4B9F19E2.2090709@jp.fujitsu.com>
Hello, Kenji-san
Kenji Kaneshige wrote:
>
> I misunderstood the problem.
> My understanding was memory resource was not enabled even though Linux
> set
> the Memory Space bit in the command register. But it was not correct. The
> bridge memory window was marked unused and Linux didn't try to set Memory
> Space bit in the command register. Current my understanding is as
> follows.
> Please correct me if I'm still misunderstanding something.
>
> 1) Your BIOS doesn't assign any resource to the bridge if its child PCI
> hot-plug slot is not occupied.
>
> 2) At the boot time, pci_assign_unassigned_resources() try to assign
> memory resouces to the bridge using pci_bus_assign_resource(), but
> it was disabled because there are no devices require memory resource.
>
> 3) And then pci_assign_unassigned_resouces() calls pci_enable_bridge(),
> but Memory Space bit in the command register was not set because no
> memory resource are assigned to the bridge. At the same time,
> pci_dev->enable_cnt was incremented.
>
> 4) At the rescan time, pci_setup_bridge() and pci_enable_bridge() doesn't
> work because the bridge is already marked "enabled" (i.e.
> pci_dev->enable_cnt is not zero).
>
> I don't have any concrete idea how to fix that so far, but I can say
> my idea
> (pcibios_enable_device() should return an error) was wrong.
>
> BTW, on my PCI hotplug capable system (SHPC and PCIe), I/O and Memory
> windows
> of the bridge are assigned by BIOS regardless of whether hotplug slot(s)
> behind the bridge is occupied or not. Maybe that is the reason why I have
> never encountered this problem before.
>
> Thanks,
> Kenji Kaneshige
>
>
Yes, your understanding of the problem is correct. On this platform BIOS
(bootloader, u-boot)
is not required to configure PCI, linux is capable of doing all
configuration itself. But both u-boot
and linux do not assign memory resources to bridge if there's no device
behind it.
Thanks a lot.
Felix.
next prev parent reply other threads:[~2010-03-16 8:39 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4B8E6FA3.70503@embedded-sol.com>
[not found] ` <20100310225100.GB27324@ldl.fc.hp.com>
2010-03-11 7:45 ` Problem with PCI bus rescan on 460EX Felix Radensky
2010-03-11 20:32 ` Benjamin Herrenschmidt
2010-03-11 21:41 ` Felix Radensky
2010-03-11 21:49 ` Benjamin Herrenschmidt
2010-03-11 7:50 ` Felix Radensky
2010-03-12 9:22 ` Kenji Kaneshige
2010-03-12 23:04 ` Felix Radensky
2010-03-15 5:39 ` Kenji Kaneshige
2010-03-15 5:46 ` Benjamin Herrenschmidt
2010-03-15 5:54 ` Benjamin Herrenschmidt
2010-03-15 6:09 ` Felix Radensky
2010-03-15 9:00 ` Kenji Kaneshige
2010-03-15 11:23 ` Felix Radensky
2010-03-16 5:40 ` Kenji Kaneshige
2010-03-16 8:39 ` Felix Radensky [this message]
2010-03-16 21:40 ` Felix Radensky
2010-03-17 1:03 ` Kenji Kaneshige
2010-03-17 7:38 ` Felix Radensky
2010-03-17 7:47 ` Benjamin Herrenschmidt
2010-03-17 7:57 ` Felix Radensky
2010-03-17 23:04 ` Benjamin Herrenschmidt
2010-03-18 0:09 ` Benjamin Herrenschmidt
2010-03-28 9:13 ` Felix Radensky
2010-03-28 9:56 ` Benjamin Herrenschmidt
2010-03-28 13:07 ` Felix Radensky
2010-03-29 0:05 ` Yinghai Lu
2010-03-29 7:01 ` Kenji Kaneshige
2010-03-29 7:35 ` Felix Radensky
2010-03-02 13:27 Felix Radensky
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=4B9F43DB.1060801@embedded-sol.com \
--to=felix@embedded-sol.com \
--cc=achiang@hp.com \
--cc=kaneshige.kenji@jp.fujitsu.com \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.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;
as well as URLs for NNTP newsgroup(s).