All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	Mitch Bradley <wmb@firmworks.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Russell King <linux@arm.linux.org.uk>,
	linux-pci@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
	Rob Herring <rob.herring@calxeda.com>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	Colin Cross <ccross@android.com>,
	linux-tegra@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 07/10] ARM: tegra: pcie: Add device tree support
Date: Fri, 22 Jun 2012 13:03:21 +0000	[thread overview]
Message-ID: <201206221303.21985.arnd@arndb.de> (raw)
In-Reply-To: <20120622124311.GA21606@avionic-0098.mockup.avionic-design.de>

On Friday 22 June 2012, Thierry Reding wrote:
> On Fri, Jun 22, 2012 at 05:46:52AM -0600, Bjorn Helgaas wrote:
> > On Fri, Jun 22, 2012 at 5:00 AM, Thierry Reding
> > <thierry.reding@avionic-design.de> wrote:
> > >> Is the bus number aperture included somewhere?  How do we know what
> > >> bus numbers are available for allocation under each bridge?
> > >
> > > Not yet. I don't think DT imposes a bus number allocation on PCI
> > > bridges. However the matching of DT nodes to PCI bridges is done based
> > > on the bus number. For that you provide a bus-ranges property which
> > > defines the bus aperture of the given PCI bridge. The DT matching code
> > > compares the first cell of this property with the primary bus number of
> > > the bridge.
> > 
> > I don't fully understand this, but I can tell you that things don't
> > work very well if we don't know the aperture.  We can make
> > assumptions, like the root bus is 00, and then enumerate everything
> > reachable from there.  But then all we know is the largest bus number
> > actually reachable from bus 00, which is usually smaller then the end
> > of the aperture.  We don't know how many unused bus numbers there are
> > in the aperture, so we can't safely allocate any for hot-added
> > devices.

I believe the assumption today is that all bus numbers are ok on each
root port, which is usually the case. There was something about a Power
Mac that faked a single PCI bus number space across both an AGP and
a PCIe domain in pmac_pci_fixup_u4_of_node(), but I think that is the
exception.

Is there any requirement to use a bus aperture on non-PC hardware?
 
> I think DT support for PCI is lacking in a lot of areas. PowerPC seems
> to be the only architecture actively setting up busses according to the
> bus-range property specified in the DT. All other architectures seem to
> not pre-allocate bus apertures and go with the default instead. From
> what you say that means hot-plugging is out. Although I don't think the
> Tegra PCIe controller even supports hot-plugging.

If the default is allowing any bus numbers, and that matches the
hardware capabilities, I think hot-plugging would work.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 07/10] ARM: tegra: pcie: Add device tree support
Date: Fri, 22 Jun 2012 13:03:21 +0000	[thread overview]
Message-ID: <201206221303.21985.arnd@arndb.de> (raw)
In-Reply-To: <20120622124311.GA21606@avionic-0098.mockup.avionic-design.de>

On Friday 22 June 2012, Thierry Reding wrote:
> On Fri, Jun 22, 2012 at 05:46:52AM -0600, Bjorn Helgaas wrote:
> > On Fri, Jun 22, 2012 at 5:00 AM, Thierry Reding
> > <thierry.reding@avionic-design.de> wrote:
> > >> Is the bus number aperture included somewhere?  How do we know what
> > >> bus numbers are available for allocation under each bridge?
> > >
> > > Not yet. I don't think DT imposes a bus number allocation on PCI
> > > bridges. However the matching of DT nodes to PCI bridges is done based
> > > on the bus number. For that you provide a bus-ranges property which
> > > defines the bus aperture of the given PCI bridge. The DT matching code
> > > compares the first cell of this property with the primary bus number of
> > > the bridge.
> > 
> > I don't fully understand this, but I can tell you that things don't
> > work very well if we don't know the aperture.  We can make
> > assumptions, like the root bus is 00, and then enumerate everything
> > reachable from there.  But then all we know is the largest bus number
> > actually reachable from bus 00, which is usually smaller then the end
> > of the aperture.  We don't know how many unused bus numbers there are
> > in the aperture, so we can't safely allocate any for hot-added
> > devices.

I believe the assumption today is that all bus numbers are ok on each
root port, which is usually the case. There was something about a Power
Mac that faked a single PCI bus number space across both an AGP and
a PCIe domain in pmac_pci_fixup_u4_of_node(), but I think that is the
exception.

Is there any requirement to use a bus aperture on non-PC hardware?
 
> I think DT support for PCI is lacking in a lot of areas. PowerPC seems
> to be the only architecture actively setting up busses according to the
> bus-range property specified in the DT. All other architectures seem to
> not pre-allocate bus apertures and go with the default instead. From
> what you say that means hot-plugging is out. Although I don't think the
> Tegra PCIe controller even supports hot-plugging.

If the default is allowing any bus numbers, and that matches the
hardware capabilities, I think hot-plugging would work.

	Arnd

  reply	other threads:[~2012-06-22 13:03 UTC|newest]

Thread overview: 249+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-11 15:05 [PATCH v2 00/10] ARM: tegra: Add PCIe device tree support Thierry Reding
2012-06-11 15:05 ` Thierry Reding
2012-06-11 15:05 ` Thierry Reding
2012-06-11 15:05 ` [PATCH v2 01/10] PCI: Keep pci_fixup_irqs() around after init Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05 ` [PATCH v2 02/10] ARM: pci: Keep pci_common_init() " Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05 ` [PATCH v2 03/10] ARM: pci: Allow passing per-controller private data Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05 ` [PATCH v2 04/10] ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05 ` [PATCH v2 05/10] ARM: tegra: Rewrite PCIe support as a driver Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 21:09   ` Stephen Warren
2012-06-11 21:09     ` Stephen Warren
2012-06-12  6:41     ` Thierry Reding
2012-06-12  6:41       ` Thierry Reding
2012-06-12  6:41       ` Thierry Reding
2012-06-12  7:24       ` Thierry Reding
2012-06-12  7:24         ` Thierry Reding
2012-06-12 16:00         ` Stephen Warren
2012-06-12 16:00           ` Stephen Warren
2012-06-12 16:00           ` Stephen Warren
2012-06-13  8:12           ` Thierry Reding
2012-06-13  8:12             ` Thierry Reding
2012-06-11 21:22   ` Stephen Warren
2012-06-11 21:22     ` Stephen Warren
2012-06-11 21:22     ` Stephen Warren
2012-06-12  4:59     ` Thierry Reding
2012-06-12  4:59       ` Thierry Reding
2012-06-12  4:59       ` Thierry Reding
2012-06-11 15:05 ` [PATCH v2 06/10] ARM: tegra: pcie: Add MSI support Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 21:19   ` Stephen Warren
2012-06-11 21:19     ` Stephen Warren
2012-06-11 21:19     ` Stephen Warren
2012-06-12  5:07     ` Thierry Reding
2012-06-12  5:07       ` Thierry Reding
2012-06-12  5:33       ` Stephen Warren
2012-06-12  5:33         ` Stephen Warren
2012-06-12  5:41         ` Thierry Reding
2012-06-12  5:41           ` Thierry Reding
2012-06-12  5:41           ` Thierry Reding
2012-06-12  6:10       ` Thierry Reding
2012-06-12  6:10         ` Thierry Reding
2012-06-12  6:10         ` Thierry Reding
2012-06-12 15:40         ` Stephen Warren
2012-06-12 15:40           ` Stephen Warren
2012-06-12 15:40           ` Stephen Warren
2012-06-12 17:23           ` Thierry Reding
2012-06-12 17:23             ` Thierry Reding
2012-06-11 15:05 ` [PATCH v2 07/10] ARM: tegra: pcie: Add device tree support Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 21:33   ` Stephen Warren
2012-06-11 21:33     ` Stephen Warren
2012-06-12  6:21     ` Thierry Reding
2012-06-12  6:21       ` Thierry Reding
2012-06-12 15:44       ` Stephen Warren
2012-06-12 15:44         ` Stephen Warren
2012-06-12 17:20         ` Thierry Reding
2012-06-12 17:20           ` Thierry Reding
2012-06-12 17:20           ` Thierry Reding
     [not found]           ` <20120612172041.GA28010-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-06-12 19:10             ` Mitch Bradley
2012-06-12 19:10               ` Mitch Bradley
2012-06-12 19:46               ` Stephen Warren
2012-06-12 19:46                 ` Stephen Warren
2012-06-12 19:46                 ` Stephen Warren
2012-06-12 19:52                 ` Mitch Bradley
2012-06-12 19:52                   ` Mitch Bradley
2012-06-13  5:54                   ` Thierry Reding
2012-06-13  5:54                     ` Thierry Reding
2012-06-13  5:54                     ` Thierry Reding
2012-06-13  7:04                     ` Mitch Bradley
2012-06-13  7:04                       ` Mitch Bradley
2012-06-12 20:15           ` Stephen Warren
2012-06-12 20:15             ` Stephen Warren
2012-06-12 21:11             ` Mitch Bradley
2012-06-12 21:11               ` Mitch Bradley
2012-06-13  6:45               ` Thierry Reding
2012-06-13  6:45                 ` Thierry Reding
2012-06-13  7:28                 ` Mitch Bradley
2012-06-13  7:28                   ` Mitch Bradley
2012-06-13  7:28                   ` Mitch Bradley
2012-06-13  7:52                   ` Thierry Reding
2012-06-13  7:52                     ` Thierry Reding
2012-06-13  7:52                     ` Thierry Reding
2012-06-13  8:05                     ` Mitch Bradley
2012-06-13  8:05                       ` Mitch Bradley
2012-06-13  8:05                       ` Mitch Bradley
2012-06-13  8:19                       ` Thierry Reding
2012-06-13  8:19                         ` Thierry Reding
2012-06-13  8:19                         ` Thierry Reding
2012-06-13  8:36                         ` Mitch Bradley
2012-06-13  8:36                           ` Mitch Bradley
2012-06-13  8:36                           ` Mitch Bradley
2012-06-13  8:42                           ` Thierry Reding
2012-06-13  8:42                             ` Thierry Reding
2012-06-14  9:19                           ` Thierry Reding
2012-06-14  9:19                             ` Thierry Reding
2012-06-14  9:19                             ` Thierry Reding
2012-06-14 18:30                             ` Stephen Warren
2012-06-14 18:30                               ` Stephen Warren
2012-06-14 18:30                               ` Stephen Warren
2012-06-14 19:29                               ` Thierry Reding
2012-06-14 19:29                                 ` Thierry Reding
2012-06-14 19:29                                 ` Thierry Reding
2012-06-14 19:50                                 ` Stephen Warren
2012-06-14 19:50                                   ` Stephen Warren
2012-06-14 19:50                                   ` Stephen Warren
2012-06-15  6:12                                   ` Thierry Reding
2012-06-15  6:12                                     ` Thierry Reding
2012-06-15  6:12                                     ` Thierry Reding
2012-06-19 13:30                                     ` Thierry Reding
2012-06-19 13:30                                       ` Thierry Reding
2012-06-19 16:40                                       ` Stephen Warren
2012-06-19 16:40                                         ` Stephen Warren
2012-06-19 16:40                                         ` Stephen Warren
2012-06-19 21:31                                       ` Mitch Bradley
2012-06-19 21:31                                         ` Mitch Bradley
2012-06-20 16:32                                         ` Stephen Warren
2012-06-20 16:32                                           ` Stephen Warren
2012-06-20 17:41                                           ` Mitch Bradley
2012-06-20 17:41                                             ` Mitch Bradley
2012-06-20 17:47                                             ` Stephen Warren
2012-06-20 17:47                                               ` Stephen Warren
2012-06-20 17:47                                               ` Stephen Warren
2012-06-20 19:57                                         ` Arnd Bergmann
2012-06-20 19:57                                           ` Arnd Bergmann
2012-06-20 20:19                                           ` Mitch Bradley
2012-06-20 20:19                                             ` Mitch Bradley
2012-06-21  6:47                                         ` Thierry Reding
2012-06-21  6:47                                           ` Thierry Reding
2012-06-21  6:47                                           ` Thierry Reding
2012-06-22 10:18                                           ` Bjorn Helgaas
2012-06-22 10:18                                             ` Bjorn Helgaas
2012-06-22 10:18                                             ` Bjorn Helgaas
2012-06-22 11:00                                             ` Thierry Reding
2012-06-22 11:00                                               ` Thierry Reding
2012-06-22 11:00                                               ` Thierry Reding
2012-06-22 11:46                                               ` Bjorn Helgaas
2012-06-22 11:46                                                 ` Bjorn Helgaas
2012-06-22 12:43                                                 ` Thierry Reding
2012-06-22 12:43                                                   ` Thierry Reding
2012-06-22 13:03                                                   ` Arnd Bergmann [this message]
2012-06-22 13:03                                                     ` Arnd Bergmann
2012-06-22 16:49                                                     ` Bjorn Helgaas
2012-06-22 16:49                                                       ` Bjorn Helgaas
2012-06-22 16:49                                                       ` Bjorn Helgaas
2012-06-22 16:53                                                       ` Arnd Bergmann
2012-06-22 16:53                                                         ` Arnd Bergmann
2012-06-22 16:53                                                         ` Arnd Bergmann
2012-06-22 17:13                                                         ` Bjorn Helgaas
2012-06-22 17:13                                                           ` Bjorn Helgaas
2012-06-22 17:13                                                           ` Bjorn Helgaas
2012-06-22 21:08                                                           ` Arnd Bergmann
2012-06-22 21:08                                                             ` Arnd Bergmann
2012-06-22 21:08                                                             ` Arnd Bergmann
2012-06-22 17:14                                                         ` Arnd Bergmann
2012-06-22 17:14                                                           ` Arnd Bergmann
2012-06-22 17:14                                                           ` Arnd Bergmann
2012-06-22 17:00                                               ` Stephen Warren
2012-06-22 17:00                                                 ` Stephen Warren
2012-06-22 17:28                                                 ` Stephen Warren
2012-06-22 17:28                                                   ` Stephen Warren
2012-06-23 21:35                                                   ` Bjorn Helgaas
2012-06-23 21:35                                                     ` Bjorn Helgaas
2012-06-25  6:34                                                   ` Thierry Reding
2012-06-25  6:34                                                     ` Thierry Reding
2012-06-25  6:34                                                     ` Thierry Reding
2012-06-26 17:22                                                     ` Stephen Warren
2012-06-26 17:22                                                       ` Stephen Warren
2012-06-27  6:19                                                       ` Thierry Reding
2012-06-27  6:19                                                         ` Thierry Reding
2012-06-27  6:19                                                         ` Thierry Reding
2012-06-22 16:20                                           ` Stephen Warren
2012-06-22 16:20                                             ` Stephen Warren
2012-06-22 16:20                                             ` Stephen Warren
2012-06-22 17:09                                           ` Mitch Bradley
2012-06-22 17:09                                             ` Mitch Bradley
2012-06-22 17:09                                             ` Mitch Bradley
2012-06-22 11:04                                         ` Thierry Reding
2012-06-22 11:04                                           ` Thierry Reding
2012-06-22 13:22                                           ` Thierry Reding
2012-06-22 13:22                                             ` Thierry Reding
2012-06-22 13:22                                             ` Thierry Reding
2012-06-22 13:48                                             ` Arnd Bergmann
2012-06-22 13:48                                               ` Arnd Bergmann
2012-06-22 13:48                                               ` Arnd Bergmann
2012-06-22 14:02                                               ` Thierry Reding
2012-06-22 14:02                                                 ` Thierry Reding
2012-06-22 14:02                                                 ` Thierry Reding
2012-06-22 16:40                                                 ` Arnd Bergmann
2012-06-22 16:40                                                   ` Arnd Bergmann
2012-06-22 16:40                                                   ` Arnd Bergmann
2012-06-13 20:21                     ` Arnd Bergmann
2012-06-13 20:21                       ` Arnd Bergmann
2012-06-13 20:21                       ` Arnd Bergmann
2012-06-14  8:37                       ` Thierry Reding
2012-06-14  8:37                         ` Thierry Reding
2012-06-14  8:37                         ` Thierry Reding
2012-06-14 10:25                         ` Arnd Bergmann
2012-06-14 10:25                           ` Arnd Bergmann
2012-06-14 10:31                           ` Thierry Reding
2012-06-14 10:31                             ` Thierry Reding
2012-06-14 11:06                             ` Arnd Bergmann
2012-06-14 11:06                               ` Arnd Bergmann
2012-06-14 11:58                               ` Thierry Reding
2012-06-14 11:58                                 ` Thierry Reding
2012-06-14 11:58                                 ` Thierry Reding
2012-06-13  6:34             ` Thierry Reding
2012-06-13  6:34               ` Thierry Reding
2012-06-13  6:34               ` Thierry Reding
2012-06-13 16:20               ` Stephen Warren
2012-06-13 16:20                 ` Stephen Warren
2012-06-13 16:20                 ` Stephen Warren
2012-06-13 17:03               ` Stephen Warren
2012-06-13 17:03                 ` Stephen Warren
2012-06-11 15:05 ` [PATCH v2 08/10] ARM: tegra: harmony: Initialize regulators from DT Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 21:36   ` Stephen Warren
2012-06-11 21:36     ` Stephen Warren
2012-06-12  6:13     ` Thierry Reding
2012-06-12  6:13       ` Thierry Reding
2012-06-12  6:13       ` Thierry Reding
2012-06-21 20:17   ` Stephen Warren
2012-06-21 20:17     ` Stephen Warren
2012-06-21 20:17     ` Stephen Warren
2012-06-22  6:06     ` Thierry Reding
2012-06-22  6:06       ` Thierry Reding
2012-06-22  6:06       ` Thierry Reding
2012-06-11 15:05 ` [PATCH v2 09/10] ARM: tegra: harmony: Initialize PCIe " Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 15:05   ` Thierry Reding
2012-06-11 21:41   ` Stephen Warren
2012-06-11 21:41     ` Stephen Warren
2012-06-11 21:41     ` Stephen Warren
2012-06-12  5:48     ` Thierry Reding
2012-06-12  5:48       ` Thierry Reding
2012-06-12  5:48       ` Thierry Reding
2012-06-12 15:38       ` Stephen Warren
2012-06-12 15:38         ` Stephen Warren
2012-06-12 15:38         ` Stephen Warren
2012-06-11 15:05 ` [PATCH v2 10/10] ARM: tegra: trimslice: " Thierry Reding
2012-06-11 15:05   ` Thierry Reding

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=201206221303.21985.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=ccross@android.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=jbarnes@virtuousgeek.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=rob.herring@calxeda.com \
    --cc=swarren@wwwdotorg.org \
    --cc=thierry.reding@avionic-design.de \
    --cc=wmb@firmworks.com \
    /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.