From: Federico Vaga <federico.vaga@cern.ch>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
<michel.arruat@cern.ch>
Subject: Re: PCIe bus enumeration
Date: Tue, 8 Jul 2014 21:20:59 +0200 [thread overview]
Message-ID: <3107266.EcOOcRPPM0@harkonnen> (raw)
In-Reply-To: <CAErSpo5ixtc=n0f56=QvtxYnXumZiao6NMgBVAWpcJH4f7QA4g@mail.gmail.com>
On Tuesday 08 July 2014 12:23:39 Bjorn Helgaas wrote:
> On Tue, Jul 8, 2014 at 1:15 AM, Federico Vaga
<federico.vaga@cern.ch> wrote:
> >> > So, It looks like that some BIOS disable the bridge when there
> >> > is
> >> > nothing behind it. Why? Power save? :/
> >>
> >> Could be power savings, or possibly to conserve bus numbers,
> >> which
> >> are a limited resource.
> >
> > what is the maximum number of buses?
>
> 256.
Well, it is not a small number. I will ask directly to the company who
sell this crate and ask them what is going on in the BIOS
> > At this point I'm a little bit confused about the definition "slot
> > numbers" :) You mean the 22, 25, ...
>
> Right. Bus numbers are under software control, to some degree (as a
> general rule, an x86 BIOS assigns them and Linux leaves them alone,
> but they *can* be changed so they aren't a good thing to rely on).
> The bus number of a root bus is usually determined by hardware or
> by an arch-specific host bridge driver. The bus number below a
> PCI-PCI bridge is determined by the bridge's "secondary bus number"
> register, which software can change.
>
> Slot numbers are based on the Physical Slot Number in the PCIe Slot
> Capability register. This is set by some hardware mechanism such as
> pin strapping or a serial EEPROM. Software can't change it, so you
> can rely on it to be constant. (There's also a mechanism for
> getting a slot number from ACPI, but that should also return a
> constant value). The problem is that I don't think the Linux slot
> number support is very good, so I'm sure there's plenty of stuff
> that we *should* be able to do that we can't do *yet*.
Mh, I understand. Let's say that I have time to spend on this problem
(I do not know) and contributing to the PCI subsystem. How many
differences are there between 3.2, 3.6, 3.16/next? We are using
3.2/3.6 at the moment, but probably you should expect that it will
work on the last version :)
--
Federico Vaga
next prev parent reply other threads:[~2014-07-08 19:17 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-03 16:45 PCIe bus enumeration Federico Vaga
2014-07-03 19:43 ` Bjorn Helgaas
2014-07-03 20:40 ` Federico Vaga
2014-07-03 22:04 ` Bjorn Helgaas
2014-07-04 7:55 ` Federico Vaga
2014-07-04 21:26 ` Bjorn Helgaas
2014-07-07 7:29 ` Federico Vaga
2014-07-07 17:34 ` Bjorn Helgaas
2014-07-08 7:15 ` Federico Vaga
2014-07-08 18:23 ` Bjorn Helgaas
2014-07-08 19:20 ` Federico Vaga [this message]
2014-07-08 20:27 ` Bjorn Helgaas
2014-08-07 14:59 ` Federico Vaga
-- strict thread matches above, loose matches on Subject: below --
2015-01-22 8:46 J.Hwan Kim
2015-01-22 11:37 ` Greg KH
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=3107266.EcOOcRPPM0@harkonnen \
--to=federico.vaga@cern.ch \
--cc=bhelgaas@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=michel.arruat@cern.ch \
/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.