All of lore.kernel.org
 help / color / mirror / Atom feed
* PCI: cardbus bridge
@ 2012-05-24  8:26 Zhi Yong Wu
  2012-05-24  8:37 ` Stefan Hajnoczi
  0 siblings, 1 reply; 7+ messages in thread
From: Zhi Yong Wu @ 2012-05-24  8:26 UTC (permalink / raw)
  To: linux-pci; +Cc: Stefan Hajnoczi, Ram Pai

HI, guys

Does anyone let me know what cardbus bridge is used for? What is the
difference between it and comon pci bridge?

By the way, someone usually mentioned pci host bridge, pci root
bridge. What the differences among them are?

Any comments are appreciated, thanks


-- 
Regards,

Zhi Yong Wu

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PCI: cardbus bridge
  2012-05-24  8:26 PCI: cardbus bridge Zhi Yong Wu
@ 2012-05-24  8:37 ` Stefan Hajnoczi
  2012-05-24  8:56   ` Zhi Yong Wu
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Hajnoczi @ 2012-05-24  8:37 UTC (permalink / raw)
  To: Zhi Yong Wu; +Cc: linux-pci, Ram Pai

On Thu, May 24, 2012 at 9:26 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
> Does anyone let me know what cardbus bridge is used for? What is the
> difference between it and comon pci bridge?

CardBus is PCMCIA (PC Card):

http://en.wikipedia.org/wiki/PC_Card#CardBus

It's not used very much anymore.  There is PCI <-> PCMCIA integration
and that's why you see it come up in PCI code.

> By the way, someone usually mentioned pci host bridge, pci root
> bridge. What the differences among them are?

I'm not sure what the exact difference is.  PCI "root" bridge refers
to the hierarchical nature of PCI, while PCI "host" bridge refers to
connecting the computer to the PCI bus.

If you want to know the exact meanings, try the PCI and PCI Express
specifications.

Stefan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PCI: cardbus bridge
  2012-05-24  8:37 ` Stefan Hajnoczi
@ 2012-05-24  8:56   ` Zhi Yong Wu
  2012-05-24  9:21     ` Stefan Hajnoczi
  0 siblings, 1 reply; 7+ messages in thread
From: Zhi Yong Wu @ 2012-05-24  8:56 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: linux-pci, Ram Pai

On Thu, May 24, 2012 at 4:37 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> On Thu, May 24, 2012 at 9:26 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
>> Does anyone let me know what cardbus bridge is used for? What is the
>> difference between it and comon pci bridge?
>
> CardBus is PCMCIA (PC Card):
>
> http://en.wikipedia.org/wiki/PC_Card#CardBus
>
> It's not used very much anymore.  There is PCI <-> PCMCIA integration
> and that's why you see it come up in PCI code.
got it. thanks.
>
>> By the way, someone usually mentioned pci host bridge, pci root
>> bridge. What the differences among them are?
>
> I'm not sure what the exact difference is.  PCI "root" bridge refers
> to the hierarchical nature of PCI, while PCI "host" bridge refers to
You mean that PCI "root" bridge is one alias of another some bridge?
> connecting the computer to the PCI bus.
I guess that PCI "host" bridge is the one which connects PCI bus 0 to
host bus, and it should be contained in PMC chipset (PCI Bridge and
Memory Controller)
>
> If you want to know the exact meanings, try the PCI and PCI Express
> specifications.
>
> Stefan



-- 
Regards,

Zhi Yong Wu

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PCI: cardbus bridge
  2012-05-24  8:56   ` Zhi Yong Wu
@ 2012-05-24  9:21     ` Stefan Hajnoczi
  2012-05-24  9:24       ` Zhi Yong Wu
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Hajnoczi @ 2012-05-24  9:21 UTC (permalink / raw)
  To: Zhi Yong Wu; +Cc: linux-pci, Ram Pai

On Thu, May 24, 2012 at 9:56 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
> On Thu, May 24, 2012 at 4:37 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>> On Thu, May 24, 2012 at 9:26 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
>>> Does anyone let me know what cardbus bridge is used for? What is the
>>> difference between it and comon pci bridge?
>>
>> CardBus is PCMCIA (PC Card):
>>
>> http://en.wikipedia.org/wiki/PC_Card#CardBus
>>
>> It's not used very much anymore.  There is PCI <-> PCMCIA integration
>> and that's why you see it come up in PCI code.
> got it. thanks.
>>
>>> By the way, someone usually mentioned pci host bridge, pci root
>>> bridge. What the differences among them are?
>>
>> I'm not sure what the exact difference is.  PCI "root" bridge refers
>> to the hierarchical nature of PCI, while PCI "host" bridge refers to
> You mean that PCI "root" bridge is one alias of another some bridge?

The root bridge is the root of a tree of PCI busses.  It's the bus
that the host interacts with - there may be PCI bridges that attach
additional busses.

BTW I don't know the terminology, maybe it's PCI "domains" not
"busses".  Again, you'd have to look at the PCI specification to get
the exact definition.

>> connecting the computer to the PCI bus.
> I guess that PCI "host" bridge is the one which connects PCI bus 0 to
> host bus, and it should be contained in PMC chipset (PCI Bridge and
> Memory Controller)

Yes.

Stefan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PCI: cardbus bridge
  2012-05-24  9:21     ` Stefan Hajnoczi
@ 2012-05-24  9:24       ` Zhi Yong Wu
  2012-05-24 23:56         ` Bjorn Helgaas
  0 siblings, 1 reply; 7+ messages in thread
From: Zhi Yong Wu @ 2012-05-24  9:24 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: linux-pci, Ram Pai

On Thu, May 24, 2012 at 5:21 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> On Thu, May 24, 2012 at 9:56 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
>> On Thu, May 24, 2012 at 4:37 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>>> On Thu, May 24, 2012 at 9:26 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
>>>> Does anyone let me know what cardbus bridge is used for? What is the
>>>> difference between it and comon pci bridge?
>>>
>>> CardBus is PCMCIA (PC Card):
>>>
>>> http://en.wikipedia.org/wiki/PC_Card#CardBus
>>>
>>> It's not used very much anymore.  There is PCI <-> PCMCIA integration
>>> and that's why you see it come up in PCI code.
>> got it. thanks.
>>>
>>>> By the way, someone usually mentioned pci host bridge, pci root
>>>> bridge. What the differences among them are?
>>>
>>> I'm not sure what the exact difference is.  PCI "root" bridge refers
>>> to the hierarchical nature of PCI, while PCI "host" bridge refers to
>> You mean that PCI "root" bridge is one alias of another some bridge?
>
> The root bridge is the root of a tree of PCI busses.  It's the bus
> that the host interacts with - there may be PCI bridges that attach
> additional busses.
>
> BTW I don't know the terminology, maybe it's PCI "domains" not
> "busses".  Again, you'd have to look at the PCI specification to get
> the exact definition.
thanks
>
>>> connecting the computer to the PCI bus.
>> I guess that PCI "host" bridge is the one which connects PCI bus 0 to
>> host bus, and it should be contained in PMC chipset (PCI Bridge and
>> Memory Controller)
>
> Yes.
>
> Stefan



-- 
Regards,

Zhi Yong Wu

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PCI: cardbus bridge
  2012-05-24  9:24       ` Zhi Yong Wu
@ 2012-05-24 23:56         ` Bjorn Helgaas
  2012-05-25  1:08           ` Zhi Yong Wu
  0 siblings, 1 reply; 7+ messages in thread
From: Bjorn Helgaas @ 2012-05-24 23:56 UTC (permalink / raw)
  To: Zhi Yong Wu; +Cc: Stefan Hajnoczi, linux-pci, Ram Pai

On Thu, May 24, 2012 at 3:24 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
> On Thu, May 24, 2012 at 5:21 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>> On Thu, May 24, 2012 at 9:56 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
>>> On Thu, May 24, 2012 at 4:37 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>>>> On Thu, May 24, 2012 at 9:26 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:

>>>>> By the way, someone usually mentioned pci host bridge, pci root
>>>>> bridge. What the differences among them are?
>>>>
>>>> I'm not sure what the exact difference is.  PCI "root" bridge refers
>>>> to the hierarchical nature of PCI, while PCI "host" bridge refers to
>>> You mean that PCI "root" bridge is one alias of another some bridge?
>>
>> The root bridge is the root of a tree of PCI busses.  It's the bus
>> that the host interacts with - there may be PCI bridges that attach
>> additional busses.

"Root bridge" and "host bridge" mean the same thing in Linux: a bridge
that connects host CPUs to a PCI fabric.  This bridge is not
architected.  The upstream interface and the programming interface are
implementation specific.  The downstream interface is PCI, so that
part is standard, but since the programming interface is not defined,
you can't *do* anything useful to it without an
implementation-specific driver.

On x86 and ia64, that driver is an ACPI driver, and the BIOS supplies
ACPI methods that hide the implementation details from the OS.

The PCI and ACPI specs use the term "host bridge," so that's what I
prefer.  The ACPI driver is "pci_root.c" and it calls it "PCI Root
Bridge."

A PCI bus immediately below a host bridge is commonly called a "root
bus."  This may be bus 0, but it need not be.  Most modern systems
have multiple host bridges, each of which has a root bus.

A PCI-to-PCI bridge is different: it has PCI interfaces on both
upstream ("primary") and downstream ("secondary") sides.  It is
defined by the spec.

>> BTW I don't know the terminology, maybe it's PCI "domains" not
>> "busses".  Again, you'd have to look at the PCI specification to get
>> the exact definition.

Linux uses "domain" to refer to what the PCI and ACPI specs call a
"segment group."  Here's the definition (from the PCI Firmware Spec):

"A number in the range 0…65535 that uniquely selects a PCI Segment Group.

PCI Segment Group is purely a software concept managed by system
firmware and used by the operation
system. It is a logical collection of PCI buses (or bus segments).
There is no tie to any physical entities. It is a
way to logically group the PCI bus segments and PCI Express Hierarchies.

PCI Segment Group concept enables support for more than 256 buses in a
system by allowing the reuse of the PCI bus numbers. Within each PCI
Segment Group, the bus numbers for the PCI buses must be unique. PCI
buses in different PCI Segment Group are permitted to have the same
bus number.

A PCI Segment Group contains one or more PCI host bridges."

Bjorn

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PCI: cardbus bridge
  2012-05-24 23:56         ` Bjorn Helgaas
@ 2012-05-25  1:08           ` Zhi Yong Wu
  0 siblings, 0 replies; 7+ messages in thread
From: Zhi Yong Wu @ 2012-05-25  1:08 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Stefan Hajnoczi, linux-pci, Ram Pai

On Fri, May 25, 2012 at 7:56 AM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> On Thu, May 24, 2012 at 3:24 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
>> On Thu, May 24, 2012 at 5:21 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>>> On Thu, May 24, 2012 at 9:56 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
>>>> On Thu, May 24, 2012 at 4:37 PM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>>>>> On Thu, May 24, 2012 at 9:26 AM, Zhi Yong Wu <zwu.kernel@gmail.com> wrote:
>
>>>>>> By the way, someone usually mentioned pci host bridge, pci root
>>>>>> bridge. What the differences among them are?
>>>>>
>>>>> I'm not sure what the exact difference is.  PCI "root" bridge refers
>>>>> to the hierarchical nature of PCI, while PCI "host" bridge refers to
>>>> You mean that PCI "root" bridge is one alias of another some bridge?
>>>
>>> The root bridge is the root of a tree of PCI busses.  It's the bus
>>> that the host interacts with - there may be PCI bridges that attach
>>> additional busses.
>
> "Root bridge" and "host bridge" mean the same thing in Linux: a bridge
> that connects host CPUs to a PCI fabric.  This bridge is not
> architected.  The upstream interface and the programming interface are
> implementation specific.  The downstream interface is PCI, so that
> part is standard, but since the programming interface is not defined,
> you can't *do* anything useful to it without an
> implementation-specific driver.
>
> On x86 and ia64, that driver is an ACPI driver, and the BIOS supplies
> ACPI methods that hide the implementation details from the OS.
>
> The PCI and ACPI specs use the term "host bridge," so that's what I
> prefer.  The ACPI driver is "pci_root.c" and it calls it "PCI Root
> Bridge."
>
> A PCI bus immediately below a host bridge is commonly called a "root
> bus."  This may be bus 0, but it need not be.  Most modern systems
> have multiple host bridges, each of which has a root bus.
>
> A PCI-to-PCI bridge is different: it has PCI interfaces on both
> upstream ("primary") and downstream ("secondary") sides.  It is
> defined by the spec.
>
>>> BTW I don't know the terminology, maybe it's PCI "domains" not
>>> "busses".  Again, you'd have to look at the PCI specification to get
>>> the exact definition.
>
> Linux uses "domain" to refer to what the PCI and ACPI specs call a
> "segment group."  Here's the definition (from the PCI Firmware Spec):
>
> "A number in the range 0…65535 that uniquely selects a PCI Segment Group.
>
> PCI Segment Group is purely a software concept managed by system
> firmware and used by the operation
> system. It is a logical collection of PCI buses (or bus segments).
> There is no tie to any physical entities. It is a
> way to logically group the PCI bus segments and PCI Express Hierarchies.
>
> PCI Segment Group concept enables support for more than 256 buses in a
> system by allowing the reuse of the PCI bus numbers. Within each PCI
> Segment Group, the bus numbers for the PCI buses must be unique. PCI
> buses in different PCI Segment Group are permitted to have the same
> bus number.
>
> A PCI Segment Group contains one or more PCI host bridges."
Great, very very clear, it is very helpful to me, maybe plus other
guys, thanks a lot.

>
> Bjorn



-- 
Regards,

Zhi Yong Wu

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-05-25  1:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-24  8:26 PCI: cardbus bridge Zhi Yong Wu
2012-05-24  8:37 ` Stefan Hajnoczi
2012-05-24  8:56   ` Zhi Yong Wu
2012-05-24  9:21     ` Stefan Hajnoczi
2012-05-24  9:24       ` Zhi Yong Wu
2012-05-24 23:56         ` Bjorn Helgaas
2012-05-25  1:08           ` Zhi Yong Wu

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.