All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Stephen Warren <swarren@wwwdotorg.org>,
	linux-tegra@vger.kernel.org, linux-pci@vger.kernel.org,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	devicetree-discuss@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org,
	Colin Cross <ccross@android.com>, Olof Johansson <olof@lixom.net>,
	Mitch Bradley <wmb@firmworks.com>, Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH v3 00/10] ARM: tegra: Add PCIe device tree support
Date: Tue, 18 Sep 2012 08:33:49 +0200	[thread overview]
Message-ID: <20120918063349.GD1459@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <CAErSpo42AME4nJqdVk9cC2EcTfu96r+yxmmOB=hXNi6jh-c+XA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2263 bytes --]

On Sat, Sep 08, 2012 at 11:51:00AM -0600, Bjorn Helgaas wrote:
> On Fri, Sep 7, 2012 at 6:04 PM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
> > On Fri, Sep 07, 2012 at 05:34:35PM -0600, Stephen Warren wrote:
> >> I guess it's a pretty basic premise of the current PCI code that all the
> >> PCI scanning happens well before any device drivers are registered,
> >> which in turn means that device_add() doesn't trigger the device's
> >> probe() until much later, after all the fixups and resource assignments
> >> are done?
> >
> > Are you saying that the PCI layer is again screwed up after all my
> > hard work several years ago to ensure that PCI devices are properly
> > setup _before_ they're made available to the PCI drivers then?  That
> > was around the time I was looking at Cardbus stuff, ensuring that that
> > worked with the same guarantees.
> >
> > Not amused.
> >
> > What is wrong with the "probe devices, apply fixups, setup resources,
> > apply more fixups, publish" process that it's had to be yet again
> > broken?
> 
> It seems that there are some bugs in the PCI layer, no doubt
> introduced after all your hard work.  We'll do our best to fix them.
> 
> The particular issue of pci_fixup_irqs() has been on my list for a
> while, and we talked about it at the recent PCI mini-summit.  It's
> clearly broken that we do this with for_each_pci_dev() once at
> boot-time because that does nothing for hot-added devices.  It's also
> broken that it is called after device_add() because the core shouldn't
> touch the device after it's available to drivers.
> 
> This should get fixed reasonably soon, probably not in v3.6, but
> hopefully in v3.7.  It's not completely trivial because many arches
> have the same problem, and we need to fix all of them.

Has there been any progress on this? I've read the PCI mini summit notes
that you posted a while ago but it doesn't mention the pci_fixup_irqs()
issue. Was there some decision as to how this should be solved? If I
understand correctly this should solve the issue that Stephen has been
seeing with bogus interrupt assignments, so we'll need this to fix PCIe
on Tegra. Is there anything I can do to help move this forward?

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: thierry.reding@avionic-design.de (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 00/10] ARM: tegra: Add PCIe device tree support
Date: Tue, 18 Sep 2012 08:33:49 +0200	[thread overview]
Message-ID: <20120918063349.GD1459@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <CAErSpo42AME4nJqdVk9cC2EcTfu96r+yxmmOB=hXNi6jh-c+XA@mail.gmail.com>

On Sat, Sep 08, 2012 at 11:51:00AM -0600, Bjorn Helgaas wrote:
> On Fri, Sep 7, 2012 at 6:04 PM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
> > On Fri, Sep 07, 2012 at 05:34:35PM -0600, Stephen Warren wrote:
> >> I guess it's a pretty basic premise of the current PCI code that all the
> >> PCI scanning happens well before any device drivers are registered,
> >> which in turn means that device_add() doesn't trigger the device's
> >> probe() until much later, after all the fixups and resource assignments
> >> are done?
> >
> > Are you saying that the PCI layer is again screwed up after all my
> > hard work several years ago to ensure that PCI devices are properly
> > setup _before_ they're made available to the PCI drivers then?  That
> > was around the time I was looking at Cardbus stuff, ensuring that that
> > worked with the same guarantees.
> >
> > Not amused.
> >
> > What is wrong with the "probe devices, apply fixups, setup resources,
> > apply more fixups, publish" process that it's had to be yet again
> > broken?
> 
> It seems that there are some bugs in the PCI layer, no doubt
> introduced after all your hard work.  We'll do our best to fix them.
> 
> The particular issue of pci_fixup_irqs() has been on my list for a
> while, and we talked about it at the recent PCI mini-summit.  It's
> clearly broken that we do this with for_each_pci_dev() once at
> boot-time because that does nothing for hot-added devices.  It's also
> broken that it is called after device_add() because the core shouldn't
> touch the device after it's available to drivers.
> 
> This should get fixed reasonably soon, probably not in v3.6, but
> hopefully in v3.7.  It's not completely trivial because many arches
> have the same problem, and we need to fix all of them.

Has there been any progress on this? I've read the PCI mini summit notes
that you posted a while ago but it doesn't mention the pci_fixup_irqs()
issue. Was there some decision as to how this should be solved? If I
understand correctly this should solve the issue that Stephen has been
seeing with bogus interrupt assignments, so we'll need this to fix PCIe
on Tegra. Is there anything I can do to help move this forward?

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120918/8c0a26ef/attachment.sig>

  reply	other threads:[~2012-09-18  6:34 UTC|newest]

Thread overview: 209+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-26 19:55 [PATCH v3 00/10] ARM: tegra: Add PCIe device tree support Thierry Reding
2012-07-26 19:55 ` Thierry Reding
2012-07-26 19:55 ` [PATCH v3 01/10] PCI: Keep pci_fixup_irqs() around after init Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-08-14  5:06   ` Bjorn Helgaas
2012-08-14  5:06     ` Bjorn Helgaas
2012-08-14  5:37     ` Thierry Reding
2012-08-14  5:37       ` Thierry Reding
2012-08-14  5:37       ` Thierry Reding
2012-08-15 17:06   ` Bjorn Helgaas
2012-08-15 17:06     ` Bjorn Helgaas
2012-08-15 17:06     ` Bjorn Helgaas
2012-08-15 19:28     ` Thierry Reding
2012-08-15 19:28       ` Thierry Reding
2012-08-15 19:42       ` Bjorn Helgaas
2012-08-15 19:42         ` Bjorn Helgaas
2012-08-15 20:01         ` Thierry Reding
2012-08-15 20:01           ` Thierry Reding
2012-08-15 20:01           ` Thierry Reding
2012-09-07 16:19         ` Stephen Warren
2012-09-07 16:19           ` Stephen Warren
2012-09-07 16:19           ` Stephen Warren
2012-09-07 17:00           ` Thierry Reding
2012-09-07 17:00             ` Thierry Reding
2012-09-07 17:00             ` Thierry Reding
2012-09-07 17:22             ` Bjorn Helgaas
2012-09-07 17:22               ` Bjorn Helgaas
2012-09-14 18:55               ` Thierry Reding
2012-09-14 18:55                 ` Thierry Reding
2012-09-14 18:55                 ` Thierry Reding
2012-09-14 19:45                 ` Bjorn Helgaas
2012-09-14 19:45                   ` Bjorn Helgaas
2012-09-14 19:45                   ` Bjorn Helgaas
2012-07-26 19:55 ` [PATCH v3 02/10] ARM: pci: Keep pci_common_init() " Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55 ` [PATCH v3 03/10] ARM: pci: Allow passing per-controller private data Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55 ` [PATCH v3 04/10] ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55 ` [PATCH v3 05/10] resource: add PCI configuration space support Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-08-14  5:00   ` Bjorn Helgaas
2012-08-14  5:00     ` Bjorn Helgaas
2012-08-14  5:00     ` Bjorn Helgaas
2012-08-14  5:55     ` Thierry Reding
2012-08-14  5:55       ` Thierry Reding
2012-08-14  5:55       ` Thierry Reding
2012-08-14 17:38       ` Bjorn Helgaas
2012-08-14 17:38         ` Bjorn Helgaas
2012-08-14 18:01         ` Thierry Reding
2012-08-14 18:01           ` Thierry Reding
2012-08-14 18:01           ` Thierry Reding
2012-08-14 21:44           ` Bjorn Helgaas
2012-08-14 21:44             ` Bjorn Helgaas
2012-08-15  6:49             ` Thierry Reding
2012-08-15  6:49               ` Thierry Reding
2012-08-15  6:49               ` Thierry Reding
2012-08-16 15:18               ` Stephen Warren
2012-08-16 15:18                 ` Stephen Warren
2012-08-16 15:18                 ` Stephen Warren
2012-08-16 18:27                 ` Thierry Reding
2012-08-16 18:27                   ` Thierry Reding
2012-08-16 18:27                   ` Thierry Reding
2012-07-26 19:55 ` [PATCH v3 06/10] ARM: tegra: Rewrite PCIe support as a driver Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55 ` [PATCH v3 07/10] ARM: tegra: pcie: Add MSI support Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55 ` [PATCH v3 08/10] of/address: Handle #address-cells > 2 specially Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-31 20:18   ` Rob Herring
2012-07-31 20:18     ` Rob Herring
2012-07-31 20:18     ` Rob Herring
2012-08-15 20:06     ` Thierry Reding
2012-08-15 20:06       ` Thierry Reding
2012-09-07 16:24       ` Stephen Warren
2012-09-07 16:24         ` Stephen Warren
2012-09-07 16:24         ` Stephen Warren
2012-09-07 16:32         ` Rob Herring
2012-09-07 16:32           ` Rob Herring
2012-09-07 16:32           ` Rob Herring
2012-07-26 19:55 ` [PATCH v3 09/10] of: Add of_pci_parse_ranges() Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-07-31 20:07   ` Rob Herring
2012-07-31 20:07     ` Rob Herring
2012-08-01  6:54     ` Thierry Reding
2012-08-01  6:54       ` Thierry Reding
2012-08-01  6:54       ` Thierry Reding
2012-08-01 16:07       ` Stephen Warren
2012-08-01 16:07         ` Stephen Warren
2012-08-01 16:07         ` Stephen Warren
2012-07-26 19:55 ` [PATCH v3 10/10] ARM: tegra: pcie: Add device tree support Thierry Reding
2012-07-26 19:55   ` Thierry Reding
2012-08-14 20:12   ` Thierry Reding
2012-08-14 20:12     ` Thierry Reding
2012-08-14 20:12     ` Thierry Reding
2012-08-14 23:50     ` Bjorn Helgaas
2012-08-14 23:50       ` Bjorn Helgaas
2012-08-15  6:37       ` Thierry Reding
2012-08-15  6:37         ` Thierry Reding
2012-08-15 12:18         ` Bjorn Helgaas
2012-08-15 12:18           ` Bjorn Helgaas
2012-08-15 12:30           ` Thierry Reding
2012-08-15 12:30             ` Thierry Reding
2012-08-15 12:30             ` Thierry Reding
2012-08-15 14:36             ` Bjorn Helgaas
2012-08-15 14:36               ` Bjorn Helgaas
2012-08-15 14:36               ` Bjorn Helgaas
2012-08-15 14:57               ` Thierry Reding
2012-08-15 14:57                 ` Thierry Reding
2012-08-15 14:57                 ` Thierry Reding
2012-08-15 20:25                 ` Arnd Bergmann
2012-08-15 20:25                   ` Arnd Bergmann
2012-08-15 20:25                   ` Arnd Bergmann
2012-08-15 20:48                   ` Bjorn Helgaas
2012-08-15 20:48                     ` Bjorn Helgaas
2012-08-15 20:48                     ` Bjorn Helgaas
2012-08-16  4:55                   ` Thierry Reding
2012-08-16  4:55                     ` Thierry Reding
2012-08-16  4:55                     ` Thierry Reding
2012-08-16  7:03                     ` Arnd Bergmann
2012-08-16  7:03                       ` Arnd Bergmann
2012-08-16  7:03                       ` Arnd Bergmann
2012-08-16  7:47                       ` Thierry Reding
2012-08-16  7:47                         ` Thierry Reding
2012-08-16  7:47                         ` Thierry Reding
2012-08-16 12:15           ` Thierry Reding
2012-08-16 12:15             ` Thierry Reding
2012-08-16 12:15             ` Thierry Reding
2012-07-31 16:18 ` [PATCH v3 00/10] ARM: tegra: Add PCIe " Stephen Warren
2012-07-31 16:18   ` Stephen Warren
2012-07-31 16:18   ` Stephen Warren
2012-08-01  6:35   ` Thierry Reding
2012-08-01  6:35     ` Thierry Reding
2012-08-01  6:35     ` Thierry Reding
2012-08-01 17:02     ` Stephen Warren
2012-08-01 17:02       ` Stephen Warren
2012-08-01 17:02       ` Stephen Warren
2012-08-02  6:15       ` Thierry Reding
2012-08-02  6:15         ` Thierry Reding
2012-08-02  6:15         ` Thierry Reding
2012-08-06 19:42 ` Stephen Warren
2012-08-06 19:42   ` Stephen Warren
2012-08-07 18:20   ` Thierry Reding
2012-08-07 18:20     ` Thierry Reding
2012-08-13 17:40   ` Thierry Reding
2012-08-13 17:40     ` Thierry Reding
2012-08-13 18:47     ` Stephen Warren
2012-08-13 18:47       ` Stephen Warren
2012-08-13 18:47       ` Stephen Warren
2012-08-13 20:33       ` Thierry Reding
2012-08-13 20:33         ` Thierry Reding
2012-08-13 20:33         ` Thierry Reding
2012-08-13 21:38         ` Rob Herring
2012-08-13 21:38           ` Rob Herring
2012-08-14  6:14           ` Thierry Reding
2012-08-14  6:14             ` Thierry Reding
2012-08-13 23:18       ` Bjorn Helgaas
2012-08-13 23:18         ` Bjorn Helgaas
2012-08-13 23:18         ` Bjorn Helgaas
2012-08-14  6:29         ` Thierry Reding
2012-08-14  6:29           ` Thierry Reding
2012-08-14  6:29           ` Thierry Reding
2012-08-14 19:39         ` Stephen Warren
2012-08-14 19:39           ` Stephen Warren
2012-08-14 19:58           ` Thierry Reding
2012-08-14 19:58             ` Thierry Reding
2012-08-14 19:58             ` Thierry Reding
2012-08-14 21:55             ` Bjorn Helgaas
2012-08-14 21:55               ` Bjorn Helgaas
2012-08-14 21:55               ` Bjorn Helgaas
2012-08-14 22:58               ` Stephen Warren
2012-08-14 22:58                 ` Stephen Warren
2012-08-14 22:58                 ` Stephen Warren
2012-08-14 23:51                 ` Stephen Warren
2012-08-14 23:51                   ` Stephen Warren
2012-08-14 23:51                   ` Stephen Warren
2012-08-15 19:04                   ` Stephen Warren
2012-08-15 19:04                     ` Stephen Warren
2012-08-15 19:04                     ` Stephen Warren
2012-08-15 20:09                     ` Thierry Reding
2012-08-15 20:09                       ` Thierry Reding
2012-08-15 20:11                       ` Stephen Warren
2012-08-15 20:11                         ` Stephen Warren
2012-08-15 20:11                         ` Stephen Warren
2012-08-15 20:19                         ` Thierry Reding
2012-08-15 20:19                           ` Thierry Reding
2012-08-15 20:19                           ` Thierry Reding
2012-09-07 23:34                   ` Stephen Warren
2012-09-07 23:34                     ` Stephen Warren
2012-09-08  0:04                     ` Russell King - ARM Linux
2012-09-08  0:04                       ` Russell King - ARM Linux
2012-09-08  0:04                       ` Russell King - ARM Linux
2012-09-08  5:53                       ` Stephen Warren
2012-09-08  5:53                         ` Stephen Warren
2012-09-08  5:53                         ` Stephen Warren
2012-09-08 17:51                       ` Bjorn Helgaas
2012-09-08 17:51                         ` Bjorn Helgaas
2012-09-08 17:51                         ` Bjorn Helgaas
2012-09-18  6:33                         ` Thierry Reding [this message]
2012-09-18  6:33                           ` Thierry Reding
2012-09-18 15:56                           ` Bjorn Helgaas
2012-09-18 15:56                             ` Bjorn Helgaas
2012-08-15  0:08                 ` Bjorn Helgaas
2012-08-15  0:08                   ` Bjorn Helgaas
2012-08-15  0:08                   ` Bjorn Helgaas

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=20120918063349.GD1459@avionic-0098.mockup.avionic-design.de \
    --to=thierry.reding@avionic-design.de \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=ccross@android.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --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=olof@lixom.net \
    --cc=rob.herring@calxeda.com \
    --cc=swarren@wwwdotorg.org \
    --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.