Thread (48 messages) 48 messages, 11 authors, 2014-09-12

[PATCH v10 07/10] OF: Introduce helper function for getting PCI domain_nr

From: bhelgaas@google.com (Bjorn Helgaas)
Date: 2014-09-09 14:18:15
Also in: linux-arch, linux-devicetree, linux-pci, lkml

On Tue, Sep 9, 2014 at 3:16 AM, Arnd Bergmann [off-list ref] wrote:
On Tuesday 09 September 2014 09:46:21 Liviu Dudau wrote:
quoted
On Tue, Sep 09, 2014 at 06:54:21AM +0100, Yijing Wang wrote:
quoted
PCI domain(or named segment) is provided by firmware, in ACPI system, we evaluated it
by method "_SEG". in IA64 with ACPI, PCI hostbridge driver retrieves the domain from ACPI,
if it's absent, the default domain is zero. So I wonder why in DTS, if it's absent, we get
a auto increment domain value.
Because you can have more than one hostbridge (rare, but not impossible) and unless you
want to join the two segments, you might want to give it a different domain.
I think you misunderstood the question. The difference is that in ACPI you
are required to specify the domain, while in DT it is optional with your
implementation.
_SEG is actually optional, but the spec (ACPI r5.0, sec 6.5.6) says to
assume domain 0 if _SEG is absent.

Yijing mentioned ia64, which is relevant because PCI config accesses
on ia64 are done via a firmware (SAL) interface, and the domain is
part of that interface, so the kernel is actually required to supply
the correct domain number (0 or _SEG value) for each host bridge.

Bjorn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help