linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Linux PCI <linux-pci@vger.kernel.org>,
	Jay Vosburgh <fubar@us.ibm.com>,
	David Miller <davem@davemloft.net>,
	Ron Mercer <ron.mercer@qlogic.com>,
	kaneshige.kenji@jp.fujitsu.com, linuxppc-dev@lists.ozlabs.org,
	Breno Leitao <leitao@linux.vnet.ibm.com>
Subject: Re: [RFC PATCH] PCI-E broken on PPC (regression)
Date: Wed, 27 Jan 2010 13:10:56 +1100	[thread overview]
Message-ID: <1264558256.3601.153.camel@pasglop> (raw)
In-Reply-To: <20100125175025.4c74f412@jbarnes-piketon>


> Cc'ing Ben for PPC.  Ben, should PPC use pci_scan_device when probing
> its root busses?  Sounds like it just uses pci_device_add for each one
> it finds instead?
> 
> If you don't actually need scanning (though what about hotplug?) we can
> move the call to device_add instead...

Ok so I looked at the code and the problem goes way beyond root busses.

Basically, powerpc can use the code in arch/powerpc/kernel/pci_of_scan.c
to "generate" the pci_dev without using config space probing or at least
using as little of it as possible, using the firmware device-tree
information instead.

This is also probably going to be moved to a more generic place and
extended to be used optionally by other architectures.

I think sparc does something similar in fact in arch/sparc/kernel/pci.c
(of_create_pci_dev()) though it would be logical to have sparc and
powerpc share the same implementation here in the long run and I believe
Grant Likely is working on it.

That means that potentially, pci_dev will be created on those archs for
which pci_setup_device() is never called. Thus we need to be very
careful when adding initializations there that at least we (myself and
davem) are notified of that so we can mirror them in our code, or even
better, if people doing so put them there too...

So as far as I can tell, we are missing that set_pcie_port_type(), so we
need to add it to sparc and powerpc (and so make the function non-static
in drivers/pci/probe.c). We are also missing the manipulation of
dev->slot in fact, so that will need to be fixed too.

set_pcie_hotplug_bridge() might be something we want to add too, it's
not totally clear yet due to possible issues with our firmwares.
pci_fixup_device(pci_fixup_early,...) as well in fact.

I'll try do make ppc catch up with some of that see how it goes.

Cheers,
Ben.

  parent reply	other threads:[~2010-01-27  2:11 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-25 13:42 [RFC PATCH] PCI-E broken on PPC (regression) Breno Leitao
2010-01-25 20:38 ` Jesse Barnes
2010-01-26  1:50   ` Jesse Barnes
2010-01-26  2:59     ` Benjamin Herrenschmidt
2010-01-26  4:36     ` Kenji Kaneshige
2010-01-27  2:10     ` Benjamin Herrenschmidt [this message]
2010-01-27 16:26       ` Jesse Barnes
2010-01-27 22:00         ` Benjamin Herrenschmidt
2010-01-28  0:01           ` David Miller
2010-01-28  0:03             ` Jesse Barnes
2010-01-29  3:45       ` Matthew Wilcox
2010-01-29  3:54         ` Benjamin Herrenschmidt
2010-02-18  0:22       ` David Miller
2010-02-18  0:29         ` Jesse Barnes
2010-01-26  4:18 ` Kenji Kaneshige

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=1264558256.3601.153.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=davem@davemloft.net \
    --cc=fubar@us.ibm.com \
    --cc=jbarnes@virtuousgeek.org \
    --cc=kaneshige.kenji@jp.fujitsu.com \
    --cc=leitao@linux.vnet.ibm.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=ron.mercer@qlogic.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 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).