linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Richard Yang <weiyang@linux.vnet.ibm.com>
To: Richard Yang <weiyang@linux.vnet.ibm.com>
Cc: Yinghai Lu <yinghai@kernel.org>, Ram Pai <linuxram@us.ibm.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linux-pci@vger.kernel.org, Gavin Shan <shangw@linux.vnet.ibm.com>
Subject: Re: One chart on pci bridge and its bus and their children
Date: Wed, 6 Jun 2012 15:58:30 +0800	[thread overview]
Message-ID: <20120606075830.GC17042@richard> (raw)
In-Reply-To: <20120606052835.GB17042@richard>

On Wed, Jun 06, 2012 at 01:28:35PM +0800, Richard Yang wrote:
>On Tue, Jun 05, 2012 at 12:38:52PM -0700, Yinghai Lu wrote:
>>>
>>> Yinghai,
>>>
>>> is there a reason why this can't be fixed in
>>> pci_create_root_bus() by having
>>>   bus->self = bridge; /* 'bridge' is the pci_device of the corresponding host bridge */
>>>   get_device(&bridge->dev);
>>
>>self is pointer to pci_dev bridge.
>>
>>and for root bus, it is NULL. that mean no pci bridge device related.
>>
>>bridge is device, and have that assigned from host bridge dev, or pci
>>bridge dev.
>>
>>also for virtfn of iov, new bus from there will not have self assigned too.
>>for it even bridge is not assigned.
>>
>>so bridge is just generic way to save bridge (pci, host) device ...
>
I did a summarize, we have three types of pci_bus.


Can we identify the type by following method?

+--------------------+--------------------------------------------------+
| bus type           |   identification                                 |
+--------------------+--------------------------------------------------+
| root_bus           |parent is NULL, bridge point to host_bridge dev   |
+--------------------+--------------------------------------------------+
| general_bus        |parent to parent bus, bridge point to the bridge  |
+--------------------+--------------------------------------------------+
| iov_bus            |parent to parent bus, bridge point to NULL        |
+--------------------+--------------------------------------------------+

Hmm... if we can determine which type a pci_bus is from this criteria. 
Sounds we don't need the self in pci_bus?

-- 
Richard Yang
Help you, Help me


  reply	other threads:[~2012-06-06  7:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-05  3:26 One chart on pci bridge and its bus and their children Richard Yang
2012-06-05  4:11 ` Ram Pai
2012-06-05  4:37   ` Bjorn Helgaas
2012-06-05  5:18     ` Yinghai Lu
2012-06-05  5:20       ` Yinghai Lu
2012-06-05  5:41         ` Richard Yang
2012-06-05  6:35         ` Ram Pai
2012-06-05 14:41           ` Jiang Liu
2012-06-05 16:40             ` Ram Pai
2012-06-06  1:58               ` Ram Pai
2012-06-05 19:38           ` Yinghai Lu
2012-06-06  5:28             ` Richard Yang
2012-06-06  7:58               ` Richard Yang [this message]
2012-06-05 21:52         ` Gavin Shan
2012-06-05  6:02       ` Richard Yang
2012-06-05 14:32         ` Jiang Liu
2012-06-05 14:37         ` Jiang Liu
2012-06-05 19:41         ` Yinghai Lu
2012-06-05  5:33   ` 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=20120606075830.GC17042@richard \
    --to=weiyang@linux.vnet.ibm.com \
    --cc=bhelgaas@google.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxram@us.ibm.com \
    --cc=shangw@linux.vnet.ibm.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).