From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Guenter Roeck <linux@roeck-us.net>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>,
Will Deacon <Will.Deacon@arm.com>
Subject: Re: [PATCH] PCI: Only enable IO window if supported
Date: Wed, 8 Jul 2015 09:38:26 +0100 [thread overview]
Message-ID: <20150708083826.GA1912@red-moon> (raw)
In-Reply-To: <CAErSpo6AziA5GXEi6AizW2WP6oLVMd1p57pWunDNBQeVXxp1nw@mail.gmail.com>
On Wed, Jun 24, 2015 at 12:02:14AM +0100, Bjorn Helgaas wrote:
> On Tue, Jun 23, 2015 at 5:46 PM, Benjamin Herrenschmidt
> <benh@kernel.crashing.org> wrote:
> > On Tue, 2015-06-02 at 15:55 +0100, Lorenzo Pieralisi wrote:
> >> While at it, do you think it is reasonable to also claim the bridge
> >> windows (resources) in the respective pci_read_bridge_* calls ?
> >
> > No, don't claim in read. There's a clear distinction between gathering
> > resources and claiming them, and we need to keep that.
> >
> > Some fixups might happen in between the two for example.
>
> Are there any existing fixups like that? Concrete examples would help
> figure out the best way forward.
>
> Most arches call pci_read_bridge_bases() from pcibios_fixup_bus(). I
> think that's a poor place to do it because it's code that normally
> doesn't have to be arch-specific. Resource claiming is also usually
> done from arch code, and it shouldn't be arch-specific either.
>
> If we move both the read and claim into generic code, then we might
> need to make sure there's a fixup phase in between or something.
Yes, that's where I am at the moment. On arm/arm64 PROBE_ONLY systems, if
I can't claim bridge apertures upon pci_read_bridge_bases, I can't
claim device resources in pcibios_add_device() since the bridge apertures
have not been claimed at that point, hence resulting in failures.
Given current code I see the following options:
(1) Claim bridge resources in pci_read_bridge_bases()
(2) Claim bridge resources in pcibios_add_device() (but that's horrible,
since it requires looking up device upstream bridge and claim its
resources)
(3) Do not claim resources on PROBE_ONLY systems (that's what arm does at
present) and do not enable resources in pcibios_enable_device
(4) Add an initcall to arm/arm64 that carries out a resource survey,
that's what's done on powerPC and also x86 it seems
(eg pcibios_init in arch/powerpc/kernel/pci_64.c)
Personally I think (1) is by far the cleanest solution, I understand
Ben's concern but we need a way forward.
I will have to revert to (3) unless we find another solution, I would
like to make progress on this since it became a blocking issue.
As I said before, I will move pci_read_bridge_bases() to generic code
regardless.
Comments appreciated.
Thanks,
Lorenzo
prev parent reply other threads:[~2015-07-08 8:37 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-23 0:52 [PATCH] PCI: Only enable IO window if supported Guenter Roeck
2015-05-27 21:04 ` Bjorn Helgaas
2015-05-28 2:23 ` Guenter Roeck
2015-05-28 12:41 ` Bjorn Helgaas
2015-06-18 18:01 ` Guenter Roeck
2015-06-18 19:51 ` Bjorn Helgaas
2015-06-18 20:53 ` Guenter Roeck
2015-06-19 16:24 ` Lorenzo Pieralisi
2015-06-19 16:24 ` Lorenzo Pieralisi
2015-07-07 14:40 ` Lorenzo Pieralisi
2015-07-07 15:01 ` Guenter Roeck
2015-07-07 17:28 ` Lorenzo Pieralisi
2015-07-07 18:13 ` Guenter Roeck
2015-06-02 14:55 ` Lorenzo Pieralisi
2015-06-02 16:32 ` Bjorn Helgaas
2015-06-02 17:02 ` Guenter Roeck
2015-06-02 19:58 ` Bjorn Helgaas
2015-06-03 15:15 ` Guenter Roeck
2015-06-03 10:32 ` Lorenzo Pieralisi
2015-06-03 15:12 ` Guenter Roeck
2015-06-03 16:55 ` Lorenzo Pieralisi
2015-06-03 18:07 ` Guenter Roeck
2015-06-23 22:46 ` Benjamin Herrenschmidt
2015-06-23 23:02 ` Bjorn Helgaas
2015-06-23 23:14 ` Benjamin Herrenschmidt
2015-06-25 11:27 ` Lorenzo Pieralisi
2015-07-08 8:38 ` Lorenzo Pieralisi [this message]
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=20150708083826.GA1912@red-moon \
--to=lorenzo.pieralisi@arm.com \
--cc=Will.Deacon@arm.com \
--cc=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=suravee.suthikulpanit@amd.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.