From: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
To: Felix Radensky <felix@embedded-sol.com>
Cc: linux-pci@vger.kernel.org, yinghai@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: Wed, 17 Mar 2010 10:03:05 +0900 [thread overview]
Message-ID: <4BA02A49.9050101@jp.fujitsu.com> (raw)
In-Reply-To: <4B9FFAD1.8030309@embedded-sol.com>
Felix Radensky wrote:
> 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.
>>
>>
> I was wandering if setting is_hotplug_bridge property for this bridge
> (e.g. via
> header quirk) can be an acceptable solution. This will allow passing
> hpmemsize
> kernel parameter, to specify the amount of memory to assign to the bridge.
> I've tested this approach and it seems to work.
Looks good to me.
By the way, I think Yinghai's bridge resource reallocation patch series
might help you. It is in Jesse's PCI tree. Please take a look.
Thanks,
Kenji Kaneshige
next prev parent reply other threads:[~2010-03-17 1:03 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
2010-03-16 21:40 ` Felix Radensky
2010-03-17 1:03 ` Kenji Kaneshige [this message]
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=4BA02A49.9050101@jp.fujitsu.com \
--to=kaneshige.kenji@jp.fujitsu.com \
--cc=achiang@hp.com \
--cc=felix@embedded-sol.com \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=yinghai@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.