From: Richard Yang <weiyang@linux.vnet.ibm.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Richard Yang <weiyang@linux.vnet.ibm.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: One problem in reassign pci bus number?
Date: Wed, 16 May 2012 09:18:34 +0800 [thread overview]
Message-ID: <20120516011833.GA6599@richard> (raw)
In-Reply-To: <CAE9FiQUuHFoEXMz_Va+FOGnqEbi9=cnnoSB+h7Ug2e4Y2sFTGQ@mail.gmail.com>
On Tue, May 15, 2012 at 10:32:46AM -0700, Yinghai Lu wrote:
>On Sun, May 13, 2012 at 11:46 PM, Richard Yang
><weiyang@linux.vnet.ibm.com> wrote:
>> On Sun, May 13, 2012 at 10:40:41PM -0700, Yinghai Lu wrote:
>>>On Sun, May 13, 2012 at 6:55 PM, Richard Yang
>>><weiyang@linux.vnet.ibm.com> wrote:
>>>> On Mon, Apr 23, 2012 at 03:46:03PM -0400, Don Dutile wrote:
>>>>>On 04/22/2012 11:52 AM, Richard Yang wrote:
>>>>>>All,
>>>>>>
>>>>>>I am reading the pci_scan_bridge() and not sure what will happen in
>>>>>>following situation.
>>>>>>
>>>>>>Suppose the kernel is not passed the pci=assign-busses.
>>>>>>
>>>>>>Below is a picture about the pci system.
>>>>>>
>>>>>> +-------+
>>>>>> | | root bridge(0,255)
>>>>>> +---+---+
>>>>>> | Bus 0
>>>>>> -----+-----------+------------------------------+--
>>>>>> | |
>>>>>> | |
>>>>>> | |
>>>>>> +----+----+ +-----+-----+
>>>>>> | | B1(1,15) | |B2(16,28)
>>>>>> +----+----+ +-----+-----+
>>>>>> | Bus 1 | Bus 16
>>>>>> -----+----------------------- ----------+----------------
>>>>>> |
>>>>>> +----+----+
>>>>>> | | B3
>>>>>> +---------+
>>>>>>
>>>>>>Suppose B1 and B2 works fine with the BIOS, which get the right bus
>>>>>>number and range.
>>>>>>
>>>>>>B3 does not works fine with the BIOS, which doesn't get the bus number.
>>>>>>
>>>> Take my original question.
>>>>
>>>> B3 doesn't get the bus number, which its parent doesn't have free bus
>>>> number and there is no gap between B1 and B2.
>>>>
>>>> So in this case, the probe_resource() can't find bus number for B3.
>>>> Then cause pci_bridge_probe_busn_res() return non-zero.
>>>>
>>>> Then B3 couldn't work fine?
>>>
>>>B3 is on Bus 1? B3 is the one of bridges on Bus1?
>> No, I omit other bridges on Bus#1.
>> They will occupy bus number 2-15, which is calculated by BIOS and set to
>> bridge's configuration space.
>
>with that new condition, probe_resource will return zero.
>
>for those kind of case:
>1. use echo 1 > /sys .../remove to remove devices under Bridge2.
>2. use setpci to change bus register of bridge2 to move high to make
>more space for bridge 1.
>3. rescan bridge 1 and bridge 2.
So these steps is done after boot up and user find B3 doesn't work?
>
>Yinghai
--
Richard Yang
Help you, Help me
next prev parent reply other threads:[~2012-05-16 1:18 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20120410090306.GA7056@richard>
2012-04-22 15:52 ` One problem in reassign pci bus number? Richard Yang
2012-04-23 19:46 ` Don Dutile
2012-04-23 20:19 ` Yinghai Lu
2012-04-23 21:09 ` Don Dutile
2012-04-23 22:07 ` Yinghai Lu
2012-04-25 2:56 ` Don Dutile
2012-04-23 22:22 ` Yinghai Lu
2012-04-25 2:59 ` Don Dutile
2012-04-24 7:29 ` Richard Yang
2012-05-14 1:55 ` Richard Yang
2012-05-14 5:40 ` Yinghai Lu
2012-05-14 6:46 ` Richard Yang
2012-05-15 17:32 ` Yinghai Lu
2012-05-16 1:18 ` Richard Yang [this message]
2012-05-16 2:11 ` Yinghai Lu
2012-05-29 11:59 ` Richard Yang
2012-05-29 17:14 ` Yinghai Lu
2012-06-04 13:34 ` Richard Yang
2012-06-04 23:36 ` Yinghai Lu
2012-06-05 6:26 ` Richard Yang
2012-06-05 18:01 ` Yinghai Lu
2012-04-23 20:13 ` Yinghai Lu
2012-04-24 14:56 ` Wei Yang
2012-04-25 9:47 ` Wei Yang
2012-04-25 16:28 ` Yinghai Lu
2012-05-03 6:54 ` Richard Yang
2012-05-03 8:33 ` Yinghai Lu
2012-05-04 2:47 ` Richard Yang
2012-05-04 3:15 ` Yinghai Lu
2012-05-04 4:52 ` Richard Yang
2012-05-04 17:37 ` Yinghai Lu
2012-05-06 15:17 ` Richard Yang
2012-05-06 16:35 ` Yinghai Lu
2012-05-06 16:36 ` Yinghai Lu
2012-05-07 1:17 ` Richard Yang
2012-05-07 2:04 ` Yinghai Lu
2012-05-08 2:46 ` Richard Yang
2012-05-08 3:42 ` Yinghai Lu
2012-05-10 3:35 ` Richard Yang
2012-05-10 5:42 ` Yinghai Lu
2012-05-11 1:23 ` Richard Yang
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=20120516011833.GA6599@richard \
--to=weiyang@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.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.